MySQL性能剖析工具(pt
这个工具同样来自percona-toolkit 该工具集合的其他工具 MySQL Slave异常关机的处理 (pt-slave-restart)
包括 1.慢日志(默认) 2.tcpdump 3.general log 4.binlog 5.show processlist
实验通过tpcc模拟一定的压力,并开启binlog,general log,slow log和tcpdump收集日志。
1.slow log方式 将slow_query_log设置为on long_query_time设置为0 重新连接服务器(一般意味着中间件服务器重启) 这样慢日志将记录所有的操作。
通过pt-query-digest分析慢日志文件,生成剖析报告 首先是概要信息,包括一共有54.17k个操作,46个语句,平均每秒1.55k查询,剖析报告覆盖的时间等。
概要还包括类似Top SQL的分析 可以从响应时间查看对服务器性能影响最大的SQL,其中R/Call指的是 平均每次执行的响应时间 ResponseTime/Calls
然后就是每条SQL的详细剖析报告, pct指的是该项占概要报告中的百分比
2.tcpdump方式 因为慢日志方式需要重新连接,而生产环境重启中间件是非常昂贵的操作。 所以在数据库服务器上抓包分析也是一种不错的选择。 pt-query-digest对于抓包有一定的格式。(-x -nn -q -tttt) -s:源端口 -c:抓包的数量 tcpdump -s 65535 -x -nn -q -tttt -i any -c 100000 port 3306 > test.dmp 在完成抓包采集之后进行分析 pt-query-digest --limit 10 --type tcpdump test.dmp limit 10 限制显示排名前10的操作
其他方式生成的信息会有缺失,可能达不到预期的效果。 而processlist方式实验失败,尚不清楚如何使用这种方式剖析性能。 |