千家信息网

MySQL如何实现实时计算QPS、TPS的SHELL脚本

发表于:2024-11-11 作者:千家信息网编辑
千家信息网最后更新 2024年11月11日,这篇文章主要为大家展示了"MySQL如何实现实时计算QPS、TPS的SHELL脚本",内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下"MySQL如何实现实时计算
千家信息网最后更新 2024年11月11日MySQL如何实现实时计算QPS、TPS的SHELL脚本

这篇文章主要为大家展示了"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脚本"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!

0