MySQL实时统计脚本--计算QPS,TPS和线程连接数等

来源:互联网 发布:笑之大学知乎 编辑:程序博客网 时间:2024/05/18 13:10

MySQL系统本身提很多状态信息,很多时候我们只关心其中一部分数据信息,如TPS、QPS、连接数等

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#!/bin/bash
mysqladmin -uroot -p'123123' 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;
                }
        }
}'


QPS:每秒的查询数

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

通过mysqladmin间隔读取mysql的status信息,计算差值,得出统计信息。


--结果示例


--本篇文章转自:http://my.oschina.net/renwofei423/blog/215128


0 0