使用pt-query-digest分析MySQL慢查询日志是性能优化的标准操作,需先开启慢日志并合理设置long_query_time、log_output等参数,配合log_queries_not_using_indexes和min_examined_row_limit可精准捕获问题SQL;通过pt-query-digest对日志进行聚合分析,重点关注Query_time占比、Calls执行次数、Lock_time锁等待时间及Rows_examined与Rows_sent扫描比,可快速定位低效查询;该工具还支持通用日志、SHOW PROCESSLIST输出及tcpdump网络流量等多种数据源,具备强大的扩展性与诊断能力。

使用
pt-query-digest
解决方案
要有效地利用
pt-query-digest
slow_query_log = ON
long_query_time
log_output = FILE
pt-query-digest
安装Percona Toolkit后,使用
pt-query-digest
pt-query-digest /path/to/mysql-slow.log > slow_query_report.txt
这个命令会读取指定路径下的慢查询日志文件,然后将分析结果输出到一个文本文件。当然,这只是个开始。实际使用中,我们经常会用到一些参数来精炼分析范围,比如:
--limit 100%
--since '2023-01-01 00:00:00'
--until '2023-01-02 00:00:00'
--group-by digest
--filter '($event->{Bytes} > 1024)'报告生成后,核心在于解读。它会给出一个整体统计,包括总查询时间、总锁时间等,然后列出按“查询模式”聚合的慢查询列表。每个模式下,你会看到该类查询的总执行时间占比、平均执行时间、最大执行时间、执行次数、锁时间、扫描行数、返回行数等等。我通常会优先关注那些
Query_time
Calls
Query_time
Rows_examined
Rows_sent
配置MySQL慢查询日志,在我看来,不是简单地打开开关,而是要找到一个平衡点。设想一下,如果
long_query_time
pt-query-digest
我的经验是,通常可以从1秒开始,对于一些对响应时间要求极高的系统,甚至可以降到0.1或0.5秒。但更重要的是,要结合业务的SLA(服务等级协议)来决定。如果你的应用要求所有请求在2秒内返回,那么将
long_query_time
另外两个非常重要的配置是
log_queries_not_using_indexes
min_examined_row_limit
min_examined_row_limit
别忘了日志文件的管理。慢查询日志文件可能会非常大,你需要考虑使用
expire_logs_days
logrotate
拿到
pt-query-digest
首先,Query_time
Calls
其次,Lock_time
Lock_time
再者,Rows_examined
Rows_sent
Rows_examined
Rows_sent
Rows_examined
Rows_sent
最后,我还会关注tmp_tables
tmp_disk_tables
tmp_disk_tables
pt-query-digest
除了我们最常用的慢查询日志,它其实也能处理通用查询日志(General Query Log)。不过,通用查询日志记录了所有发送到MySQL服务器的查询,其信息量巨大,通常只用于调试或审计,而不是性能分析,因为大部分查询都是快速的,分析它会产生大量的噪音。
更高级一点,
pt-query-digest
SHOW PROCESSLIST
pt-stalk
SHOW PROCESSLIST
pt-query-digest
pt-stalk --function=show-processlist --iterations=10 --interval=1 | pt-query-digest --type=processlist
这会在10秒内每秒抓取一次
SHOW PROCESSLIST
pt-query-digest
再往深了说,
pt-query-digest
tcpdump
--type=tcpdump
pt-query-digest
所以,别把
pt-query-digest
以上就是使用pt-query-digest工具分析MySQL慢查询日志报告的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号