MySQL运行状态监控(pt

pt-MySQL-summary也是percona-toolkit-2.2.8-1.noarch.rpm工具集的一部分。
 
安装工具集请参考:
 
MySQL的show status命令 仅仅是一个状态的计数器。
 通常情况下,需要采集一个间隔的show status命令,然后分析它的趋势。
 
一定时间间隔的采集可以使用mysqladmin extended-status
 但是更简单的方法是使用pt-mysql-summary工具。
 
关于pt-mysql-summary工具的介绍请参考:
 
下面的脚本通过一个时间间隔的状态采集,
 得到这个间隔的增、删、改、查、提交、回滚的总数,然后通过gnuplot画图工具,绘制出图形。
 
脚本如下(Probe.sh):
 
#!/bin/bash
 #采集间隔时间,单位s
 asleep=10
 user=root
 password=root
 probe_file=probe.log
 output_image=/tmp/probe.png
 while [ 1 ] ; do
    a=$(pt-mysql-summary --user $user --password $password | grep -i "com_insert\|com_delete\|com_update\|com_select\|com_commit\|com_rollback" | awk    '{if(length($4)==0) print 0 ;else print $4}' | tr -t '\n' ' '); echo $(date "+%Y-%m-%d_%H:%M:%S") $a >> $probe_file
 
    gnuplot -e "set terminal png size 3000,1000 ; set size ratio 0.9 ; set output '$output_image' ; set xtic rotate by 90 ; set xdata time ; set grid;set    timefmt '%Y-%m-%d_%H:%M:%S' ; plot 'probe.log' using 1:2 with line title 'Commit', 'probe.log' using 1:3 with line title 'Delete', 'probe.log' using    1:4 with line title 'insert','probe.log' using 1:5 with line title 'rollback','probe.log' using 1:6 with line title 'select','probe.log' using 1:7 with    line title 'update' ; "
 done;
 

运行脚本,并且使用TPCC-MySQL基准测试工具开始测试(加一些流量容易看出效果)
 
TPCC-MySQL

 
关于Gnuplot画图工具的简单使用

 
查看绘图的结果:

MySQL运行状态监控(pt

 

Gnuplot
 set size ratio 0.9        Y轴:X轴 的比值
 set xtic rotate by 90    X轴的文字旋转90度

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/91cda94dff5f6753edaaf32ddc71f316.html