加入收藏 | 设为首页 | 会员中心 | 我要投稿 晋江门户网 (https://www.ijinjiang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

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

发布时间:2022-01-10 16:28:33 所属栏目:编程 来源:互联网
导读:这篇文章主要为大家展示了MySQL如何实现实时计算QPS、TPS的SHELL脚本,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下MySQL如何实现实时计算QPS、TPS的SHELL脚本这篇文章吧。 第一例: #cat mysql_qps.sh #!/bin/b
         这篇文章主要为大家展示了“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脚本”这篇文章的所有内容,感谢各位的阅读!

(编辑:晋江门户网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读