您的位置:首页 > 产品设计 > UI/UE

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

2016-01-09 13:57 465 查看
这个工具同样来自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方式实验失败,尚不清楚如何使用这种方式剖析性能。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: