MySQL實時統計指令碼--計算QPS,TPS和執行緒連線數等
阿新 • • 發佈:2018-11-10
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資訊,計算差值,得出統計資訊。