MySQL性能剖析工具(pt-query-digest)_MySQL
该工具集合的其他工具
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方式实验失败,尚不清楚如何使用这种方式剖析性能。
推荐阅读
-
MySQL性能剖析工具(pt-query-digest)_MySQL
-
php导入大量数据到mysql性能优化技巧,mysql性能优化_PHP教程
-
剖析MySQL左连接/右连接/等值连接异同_MySQL
-
关于一个用户迁移数据库前后的性能差异分析_MySQL
-
MySQL 5.5 DBA工具 多进程dump 多进程load 多进程备份还原 Pytho
-
一个单引号引发的MYSQL性能问题分析
-
MySQL的管理工具:phpMyAdmin使用简介
-
《高性能MySQL》笔记——MySQL建表数据类型的选择
-
MySQL 5.6 Innodb数据页 16K vs 8K性能对比测试
-
高性能MySql进化论:常见索引类型的原理及其特点的介绍_MySQL