pt-query-digest是Percona工具包的一部分,用于对查询进行分析。可以通过以下任何方式收集插叙:
慢查询日志
通用查询日志
进程列表
二进制日志
TCP转储
慢查询日志
首先要开启慢查询日志并收集查询,然后就可以通过传递慢查询日志来运行pt-query-digest。
通过修改配置文件,打开慢查询日志
做几次查询,生成慢查询日志后,使用工具进行分析
摘要报告(digest report)中的查询按照查询执行的次数与查询时间的乘积排列。所有查询的详细信
息,例如查询校验和(每种查询类型有一个唯一的值)、平均时间、百分比时间和执行次数等都会显示
出来。可以通过搜索查询校验和来深入研究特定查询。
摘要报告的内容如下所示:
[root@www mysql]# vim /etc/my.cnf
[mysqld]
#slow_log
slow_query_log=on #开启
slow_query_log_file=/var/lib/mysql/www-slow.log #日志文件
long_query_time = 0.001 #为了测试,定义超过0.001秒的就记录
log_queries_not_using_indexes = on #设置对未使用索引的SQL进行记录
[root@www mysql]# pt-query-digest /var/lib/mysql/www-slow.log >
/root/query_digest
[root@www ~]# cat query_digest
# 40ms user time, 420ms system time, 26.11M rss, 224.43M vsz
# Current date: Sun Oct 6 16:28:28 2019
# Hostname: www.lnmp.com
# Files: /var/lib/mysql/www-slow.log
# Overall: 2 total, 1 unique, 0.03 QPS, 0.00x concurrency ________________
# Time range: 2019-10-06T08:21:13 to 2019-10-06T08:22:31
# Attribute total min max avg 95% stddev median
# ============ ======= ======= ======= ======= ======= ======= =======
# Exec time 247ms 73ms 174ms 123ms 174ms 72ms 123ms
# Lock time 331us 124us 207us 165us 207us 58us 165us
# Rows sent 38.74k 5.53k 33.21k 19.37k 33.21k 19.57k 19.37k
# Rows examine 585.98k 292.99k 292.99k 292.99k 292.99k 0 292.99k
# Query size 146 73 73 73 73 0 73
#对此查询的分析如下所示:
云计算-legolas制作
通用查询日志
可以使用pt-query-digest通过传递参数--type genlog来分析通用查询日志。由于通用日志不报告查询的
次数,因此只显示累计的数字:
# Profile
# Rank Query ID Response time Calls R/Call V/M Item
# ==== ================== ===