温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

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

发布时间:2021-11-01 11:33:20 来源:亿速云 阅读:304 作者:小新 栏目:MySQL数据库

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI