欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

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

程序员文章站 2024-01-27 11:16:04
...
这个工具同样来自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查询,剖析报告覆盖的时间等。

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

概要还包括类似Top SQL的分析

可以从响应时间查看对服务器性能影响最大的SQL,其中R/Call指的是 平均每次执行的响应时间 ResponseTime/Calls

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

然后就是每条SQL的详细剖析报告,

pct指的是该项占概要报告中的百分比

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

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