这篇文章主要为大家展示了“MySQL如何实现实时计算QPS、TPS的SHELL脚本”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“MySQL如何实现实时计算QPS、TPS的SHELL脚本”这篇文章吧。
第一例:
#cat mysql_qps.sh
#!/bin/bash
MYSQL_CON="/usr/local/mysql/bin/mysql"
TIME="$1"
OLD_QUERY=`$MYSQL_CON -e "show global status like 'questions';" | awk -F[' ','s'] 'NR==2{print $3}'`
echo "$OLD_QUERY"
sleep "$TIME"
NEW_QUERY=`$MYSQL_CON -e "show global status like 'questions';" | awk -F[' ','s'] 'NR==2{print $3}'`
echo "$NEW_QUERY"
TIME_QUERY=`expr $NEW_QUERY - $OLD_QUERY`
QPS=`expr $TIME_QUERY / $TIME`
echo "$QPS"
查看接下来10s的QPS:
# ./mysql_qps.sh 10
第二例:通过mysqladmin间隔读取mysql的status信息,计算差值,得出统计信息。
# cat mysql_qps-tps.sh
#!/bin/bash
/usr/local/mysql/bin/mysqladmin -uroot -p'root' 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;
}
}
}'
运行结果如下:
# ./mysql_qps-tps.sh
QPS Commit Rollback TPS Threads_con Threads_run
-------------------------------------------------------
mysqladmin: [Warning] Using a password on the command line interface can be insecure.
3104 292 400 692 350 3
2488 246 305 551 350 2
3394 331 440 771 350 3
3066 279 395 674 350 3
3400 316 442 758 350 2
3082 278 415 693 350 3
3533 275 430 705 350 3
2638 249 356 605 350 2
3819 315 523 838 350 2
3206 287 449 736 350 2
2949 259 408 667 350 2
-------------------------------------------------------
QPS Commit Rollback TPS Threads_con Threads_run
-------------------------------------------------------
2985 284 399 683 350 2
3042 288 402 690 350 2
3208 282 431 713 350 4
3232 290 437 727 350 2
3220 287 435 722 350 5
3270 308 431 739 350 2
4022 373 546 919 350 2
5497 521 721 1242 350 3
328 18 32 50 350 2
4606 434 602 1036 350 2
1070 101 129 230 350 2
-------------------------------------------------------
-------------------------------------------------------
-------------------------------------------------------
-------------------------------------------------------
以上是“MySQL如何实现实时计算QPS、TPS的SHELL脚本”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。