一個簡易的MySQL效能查詢指令碼

來源:互聯網
上載者:User

一個簡易的MySQL效能查詢指令碼

一個簡易的MySQL效能查詢指令碼如下:

#!/bin/shmysqladmin -P3306 -uroot -p'password'  -r -i 1 ext |\awk -F"|" \"BEGIN{ count=0; }"\'{ if($2 ~ /Variable_name/ && ((++count)%20 == 1)){\    print "----------|---------|--- MySQL Command Status --|----- Innodb row operation ----|-- Buffer Pool Read --";\    print "---Time---|---QPS---|select insert update delete|  read inserted updated deleted|   logical    physical";\}\else if ($2 ~ /Queries/){queries=$3;}\else if ($2 ~ /Com_select /){com_select=$3;}\else if ($2 ~ /Com_insert /){com_insert=$3;}\else if ($2 ~ /Com_update /){com_update=$3;}\else if ($2 ~ /Com_delete /){com_delete=$3;}\else if ($2 ~ /Innodb_rows_read/){innodb_rows_read=$3;}\else if ($2 ~ /Innodb_rows_deleted/){innodb_rows_deleted=$3;}\else if ($2 ~ /Innodb_rows_inserted/){innodb_rows_inserted=$3;}\else if ($2 ~ /Innodb_rows_updated/){innodb_rows_updated=$3;}\else if ($2 ~ /Innodb_buffer_pool_read_requests/){innodb_lor=$3;}\else if ($2 ~ /Innodb_buffer_pool_reads/){innodb_phr=$3;}\else if ($2 ~ /Uptime / && count >= 2){\  printf(" %s |%9d",strftime("%H:%M:%S"),queries);\  printf("|%6d %6d %6d %6d",com_select,com_insert,com_update,com_delete);\  printf("|%6d %8d %7d %7d",innodb_rows_read,innodb_rows_inserted,innodb_rows_updated,innodb_rows_deleted);\  printf("|%10d %11d\n",innodb_lor,innodb_phr);\}}' 

輸出如下:

這個指令碼主要利用了mysqladmin提供的功能

-r, --relative      Show difference between current and previous values when                      used with -i. Currently only works with extended-status.
extended-status       Gives an extended status message from the server

ext是extended-status的縮寫~

本文永久更新連結地址:

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.