ITPub博客

首页 > 数据库 > MySQL > MySQL性能剖析工具(pt-query-digest)

MySQL性能剖析工具(pt-query-digest)

MySQL 作者:huyangg 时间:2015-12-08 11:07:28 0 删除 编辑
这个工具同样来自percona-toolkit
该工具集合的其他工具
MySQL Slave异常关机的处理 (pt-slave-restart)
http://blog.itpub.net/29254281/viewspace-1183545/

验证MySQL主从一致性(pt-table-checksum&pt-table-sync)
http://blog.itpub.net/29254281/viewspace-1208415/


它可以剖析各种日志,从而分析性能问题
包括
1.慢日志(默认)
2.tcpdump
3.general log
4.binlog
5.show processlist

实验通过tpcc模拟一定的压力,并开启binlog,general log,slow log和tcpdump收集日志。
关于tpcc参考:http://blog.itpub.net/29254281/viewspace-1195589/

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方式实验失败,尚不清楚如何使用这种方式剖析性能。

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

请登录后发表评论 登录
全部评论

注册时间:2010-04-02

  • 博文量
    60
  • 访问量
    218310