MySQL實時統計腳本--計算QPS,TPS和線程連接數等

MySQL系統本身提很多狀態信息,很多時候我們只關心其中一部分數據信息,如TPS、QPS、連接數等

#!/bin/bash    
    mysqladmin -uroot -p'123123' extended-status -i1|awk 'BEGIN{local_switch=0;print "QPS   Commit Rollback   TPS    Threads_con Threads_run \n------------------------------------------------------- "}    
         $2 ~ /Queries$/            {q=$4-lq;lq=$4;}    
         $2 ~ /Com_commit$/         {c=$4-lc;lc=$4;}    
         $2 ~ /Com_rollback$/       {r=$4-lr;lr=$4;}    
         $2 ~ /Threads_connected$/  {tc=$4;}    
         $2 ~ /Threads_running$/    {tr=$4;    
            if(local_switch==0)     
                    {local_switch=1; count=0}    
            else {    
                    if(count>10)     
                            {count=0;print "------------------------------------------------------- \nQPS   Commit Rollback   TPS    Threads_con Threads_run \n------------------------------------------------------- ";}    
                    else{     
                            count+=1;    
                            printf "%-6d %-8d %-7d %-8d %-10d %d \n", q,c,r,c+r,tc,tr;    
                    }    
            }    
    }'

QPS:每秒的查詢數

TPS:每秒的事物量(commit與rollback的之和)

通過mysqladmin間隔讀取mysql的status信息,計算差值,得出統計信息。


原文轉自:http://my.oschina.net/renwofei423/blog/215128

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章