当前位置:Gxlcms > 数据库问题 > Mysql 监控性能状态 QPS/TPS【转】

Mysql 监控性能状态 QPS/TPS【转】

时间:2021-07-01 10:21:17 帮助过:8人阅读


每隔一秒统计一次 QPS、TPS

mysql 还有两个信息比较重要:

Threads_connected 当前连接的线程的个数
Threads_running 运行状态的线程的个数

这两个值也在extended-status的结果中,所以可以一道显示出来

最后统计结果信息包括:

 

QPS、TPS、Threads_connected、Threads_running

先看下统计结果的展现形式

技术分享

基本思路


每秒钟运行一次extended-status,使用awk分析结果值,从中筛选出我们需要的值:

Queries、Com_commit、Com_rollback、Threads_connected、Threads_running

QPS = Queries值 - 上一次的值

TPS = (Com_commit值 - 上一次的值) + (Com_rollback值 - 上一次的值)

因为是1秒钟统计一次,所以计算QPS/TPS时就不用除以秒数了

脚本代码


技术分享

代码分析

 

awk是代码中的重点,mysqladmin 的执行结果通过管道传给 awk 进行分析

‘BEGIN{flag=0;
print "";
print "QPS   TPS    Threads_con Threads_run ";
print "------------------------------------- "}

这部分是初始设置,打印出表头

flag=0 是设置一个标识位,后面用到

$2 ~ /Queries$/  {q=$4-lq;lq=$4;}

其中 $2 $4 代表某列的内容

awk是按行分析并按空格分割的,例如行信息为:

| Queries | 213263713 |

按空格分割后得到5列:

‘|‘, ‘Queries‘, ‘|‘, ‘213263713‘, ‘|‘

$2 : Queries

$4 : 213263713

那么这句的意思就是:

当第2列的值匹配‘Queries’时,

变量q = 第4列的值 - 变量lq的值,

变量lq = 第4列的值

变量q 就是 QPS值,用这一次的 Queries值 减去 上一次的值

$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(flag==0){
    flag=1;
}

这里用到了flag这个标识位,意思是对第一次的分析结果什么都不做,因为这句

{q=$4-lq;lq=$4;}

q=$4-lq; 中的 lq 在第一次分析中还没有值

else {
    printf "%-6d %-8d %-10d %d \n", q,c+r,tc,tr;
}

这部分就是打印统计结果信息


下面是脚本代码下载地址,有兴趣的话可以下来实验一下

http://devdd.oss-cn-beijing.aliyuncs.com/mysql_QPS_TPS.txt

#!/bin/bash
mysqladmin -uroot -p瀵嗙爜 extended-status -i1|awk BEGIN{flag=0;
print "";
print "QPS   TPS    Threads_con Threads_run ";
print "------------------------------------- "}
$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(flag==0){
    flag=1; count=0
}else {
    printf "%-6d %-8d %-10d %d \n", q,c+r,tc,tr;
}

}

 

Mysql 监控性能状态 QPS/TPS【转】

标签:mit   html   iap   logs   clr   anr   意思   rollback   div   

人气教程排行