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

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

程序员文章站 2024-02-15 17:46:10
...

这个工具同样来自percona-toolkit该工具集合的其他工具MySQL Slave异常关机的处理 (pt-slave-restart)

这个工具同样来自percona-toolkit
该工具集合的其他工具
MySQL Slave异常关机的处理 (pt-slave-restart)

验证MySQL主从一致性(pt-table-checksum&pt-table-sync)

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

实验通过tpcc模拟一定的压力,并开启binlog,general log,slow log和tcpdump收集日志。
关于tpcc参考:

1.slow log方式
将slow_query_log设置为on
long_query_time设置为0
重新连接服务器(一般意味着中间件服务器重启)
这样慢日志将记录所有的操作。

通过pt-query-digest分析慢日志文件,生成剖析报告
首先是概要信息,包括一共有54.17k个操作,46个语句,平均每秒1.55k查询,剖析报告覆盖的时间等。

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



概要还包括类似Top SQL的分析
可以从响应时间查看对服务器性能影响最大的SQL,其中R/Call指的是 平均每次执行的响应时间 ResponseTime/Calls

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



然后就是每条SQL的详细剖析报告,
pct指的是该项占概要报告中的百分比

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



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

--------------------------------------分割线 --------------------------------------

Ubuntu 14.04下安装MySQL

《MySQL权威指南(原书第2版)》清晰中文扫描版 PDF

Ubuntu 14.04 LTS 安装 LNMP Nginx\PHP5 (PHP-FPM)\MySQL

Ubuntu 14.04下搭建MySQL主从服务器

Ubuntu 12.04 LTS 构建高可用分布式 MySQL 集群

Ubuntu 12.04下源代码安装MySQL5.6以及Python-MySQLdb

--------------------------------------分割线 --------------------------------------

本文永久更新链接地址:

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