這個腳本挺好用的,例如我們在主庫執行了一個大事務,結果導致從庫的show slave status\G 一直卡在 system lock狀態,我們用下面這個腳本就能知道到底是hang住了,還是只是執行緩慢(反應在腳本執行結果里面就是qps\tps是不停變動的)。
當然,從庫一直處于system lock 狀態,一般是因為我們從庫也設置雙1導致,只要臨時將雙1改掉即可很快解決掉slave lag的問題。
腳本如下:
#!/bin/bash
# 每秒鐘獲取一次MySQL運行的TPS、QPS,直接輸出到屏幕
# Date: 2017/03/25
#
source /etc/profile
USER=’root’
PASSWD=’123456′
if ! mysqladmin -u $USER -p$PASSWD ping > /dev/null 2>&1 ; then
exit 10
else
mysqladmin -u$USER -p$PASSWD 2>/dev/null 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;
}
}
}’
fi
原創文章,作者:lirulei,如若轉載,請注明出處:http://www.www58058.com/74876