00 前言
在进行mysql性能优化的时候,第一个想到的便是查看慢sql。
但是对于慢sql有没有什么好的工具进行分析呢?
推荐两个工具mysqldumpslow及pt-query-digest。
mysqlslowdump较为简单,常用命令:
#得到返回记录最多的20个sql
mysqldumpslow -s r -t 20 slowSQl.log
# 得到平均访问次数最多的20条sql
mysqldumpslow -s ar -t 20 slowSQl.log
如果linux上没有安装mysqldumpslow,yum install安装下就行了。
本文主要说下pt-query-digest。
pt-query-digest可以非常清晰地将slowSQL分析出来,类似oracle的AWR报告。
# Rank Query ID Response time Calls R/Call V/M
# ==== =============================== =============== ===== ====== =====
# 1 0xABD1DCCCCD5AA5128E10C27B34... 1246.6948 41.7% 283 4.4053 0.04 UPDATE ziweidashi_deviceinfo
# 2 0x6914B81AAD1785E50708ABD113... 877.6900 29.3% 339 2.5891 0.09 SELECT birthDay_notify
# 3 0x44D9474C6D5C58DD07B5FEEA0D... 299.4193 10.0% 71 4.2172 0.05 SELECT tmall_product_orders
# 4 0xA9BE84CBE3DAA9B1CDD9B5A9EC... 127.0137 4.2% 46 2.7612 0.04 SELECT daily_user_action_log
# 5 0xCF0E12117C971C3013142E3717... 118.3138 4.0% 49 2.4146 0.05 SELECT tmall_user_take_coupon_record
# 6 0x94263184D24186330B13193534... 97.0805 3.2% 35 2.7737 0.56 SELECT tgg_users
# 7 0xC51165F1287A2ECDA221AC1F54... 52.5870 1.8% 22 2.3903 0.04 SELECT util_user_task_log
# 8 0xB8004D6D8A7A7967E04CD81E26... 43.7895 1.5% 16 2.7368 0.08 SELECT daily_user_action_log
# 9 0x910E19224F33DAA6391927B8E8... 41.3720 1.4% 15 2.7581 1.17 SELECT qifugong_tianbi_record
# MISC 0xMISC 86.7871 2.9% 30 2.8929 0.0 <12 ITEMS>
并且不只可以分析慢SQL日志,还可以分析binlog、general log。
此外,pt-query-digest是percona-toolkit工具包的其中一个工具。
这个工具包下还有很多实用的性能分析辅助工具。
01 安装排坑
1、下载
# 进入安装目录
cd /usr/local/src
# 下载percona-toolkit 工具包
wget percona.com/get/percona-toolkit.tar.gz
# 解压
tar zxf percona-toolkit.tar.gz
# 进入解压文件夹
cd /usr/local/src/percona-toolkit-3.1.0
# 安装perl模块,制定依赖路径
perl Makefile.PL PREFIX=/usr/local/percona-toolkit
2、报错 prerequisite DBD::mysql 3 not found
报错如下,找不到DBD包
[root@iZ2zebthf35ejlps5v87ksZ percona-toolkit-3.1.0]# perl Makefile.PL PREFIX=/usr/local/percona-toolkit
Checking if your kit is complete...
Looks good
Warning: prerequisite DBD::mysql 3 not found.
Warning: prerequisite DBI 1.46 not found.
Writing Makefile for percona-toolkit
百度问题,找到链接,https://blog.csdn.net/heizistudio/article/details/45724707?locationNum=8&fps=1
安装依赖包
yum install perl-DBD-MySQL
然后重新执行命令
[root@iZ2zebthf35ejlps5v87ksZ percona-toolkit-3.1.0]# perl Makefile.PL PREFIX&#