MySQL实时计算QPS,TPS的SHELL脚本两例

QPS:每秒的查询数

TPS:每秒的事物量(commit与rollback的之和)


第一例:

#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 

------------------------------------------------------- 

------------------------------------------------------- 

------------------------------------------------------- 

------------------------------------------------------- 



来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/15498/viewspace-2287165/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/15498/viewspace-2287165/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值