mysql慢查询分析工作pt-query-digest的使用
2016-10-14 15:42
501 查看
一、简单安装
二、简单使用
参考文章:http://blog.itpub.net/29773961/viewspace-2024992/
pt-query-digest是一套帮助DBA管理mysql的工具集percona-toolkit下的一个小工具,由percona公司开发。
用于做日志分析,此处用于分析slow log,除此之外还可以分析binary log,和general log。
一、安装
去官网选择对应的版本和平台:
此处我用的是percona-toolkit-2.2.16.tar.gz,直接解压使用。
$ tar zxvf percona-toolkit-2.2.16.tar.gz
$ cd percona-toolkit-2.2.16/bin
$ ./pt-query-digest --version
二、基础使用
基础语法:
1、完整分析
$ pt-query-digest slow_log > slow_report
2、分析最近1小时产生的日志\分析从--since到--until产生的日志
$ pt-query-digest --since=1h slow_log > slow_report2
$ pt-query-digest --since='2016-01-01 00:00:00' --until='2016-02-01' slow_log > slow_report3
3、针对某类语句分析,比如select
$ pt-query-digest --filter '$event->{fingerprint} =~ m/^select/i' slow.log > slow_report4
4、针对某个用户分析,比如dbback
$ pt-query-digest --filter '($event->{user} || "") =~ m/^dbback/i' slow.log> slow_report5
5、将分析结果输出到mysql-server中:
$ pt-query-digest --review h=localhost,D=test,t=review slow.log
[b]
更多用法可参考官方手册
[/b]
三、输出结果分析
第一部分:
Overall:
126.72k 被记录进来的查询次数,其中1k=10^3
140 去重之后的次数,即总共有多少个查询
Time range:
从日志中提取出2016-02-01 00:02:12 到 2016-03-02 03:02:30中的相关语句
接下来是时间和传输流量统计:
total:总计、min:最小值、max:最大值、avg:平均值、stddev:标准方差、median:中值
第二部分:
Rank:排序等级,在第三部分可以用于匹配具体语句
Query ID:16进制数的查询ID,在第三部分可以用于匹配具体语句
Response time:总共的响应时间,即这一条总共的执行时间
Calls:总共被查询的次数,即某一条总共被执行了多少层次
R/Calls:这一条的平均执行时间
V/M:方差均值比
Item:语句概览
第三部分:
Database:数据库名
Hosts:DB的host
Users:执行该语句的DB用户
Query_time distribution:该条语句执行时间的次数分布,###越多代表越多的执行时间在这个范围
其他:
如果要分析结果可视化,可以结合Anemometer等工具实现。
参考文档:
https://www.percona.com/doc/percona-toolkit/2.2/pt-query-digest.html
wget percona.com/get/pt-query-digest chmoe u+x pt-query-digest
二、简单使用
./pt-query-digest /var/log/mysql/mysql-slow.log | more
参考文章:http://blog.itpub.net/29773961/viewspace-2024992/
pt-query-digest是一套帮助DBA管理mysql的工具集percona-toolkit下的一个小工具,由percona公司开发。
用于做日志分析,此处用于分析slow log,除此之外还可以分析binary log,和general log。
一、安装
去官网选择对应的版本和平台:
此处我用的是percona-toolkit-2.2.16.tar.gz,直接解压使用。
$ tar zxvf percona-toolkit-2.2.16.tar.gz
$ cd percona-toolkit-2.2.16/bin
$ ./pt-query-digest --version
二、基础使用
基础语法:
pt-query-digest [OPTION...] [FILE]
1、完整分析
$ pt-query-digest slow_log > slow_report
2、分析最近1小时产生的日志\分析从--since到--until产生的日志
$ pt-query-digest --since=1h slow_log > slow_report2
$ pt-query-digest --since='2016-01-01 00:00:00' --until='2016-02-01' slow_log > slow_report3
3、针对某类语句分析,比如select
$ pt-query-digest --filter '$event->{fingerprint} =~ m/^select/i' slow.log > slow_report4
4、针对某个用户分析,比如dbback
$ pt-query-digest --filter '($event->{user} || "") =~ m/^dbback/i' slow.log> slow_report5
5、将分析结果输出到mysql-server中:
$ pt-query-digest --review h=localhost,D=test,t=review slow.log
[b]
更多用法可参考官方手册
[/b]
三、输出结果分析
第一部分:
Overall:
126.72k 被记录进来的查询次数,其中1k=10^3
140 去重之后的次数,即总共有多少个查询
Time range:
从日志中提取出2016-02-01 00:02:12 到 2016-03-02 03:02:30中的相关语句
接下来是时间和传输流量统计:
total:总计、min:最小值、max:最大值、avg:平均值、stddev:标准方差、median:中值
第二部分:
Rank:排序等级,在第三部分可以用于匹配具体语句
Query ID:16进制数的查询ID,在第三部分可以用于匹配具体语句
Response time:总共的响应时间,即这一条总共的执行时间
Calls:总共被查询的次数,即某一条总共被执行了多少层次
R/Calls:这一条的平均执行时间
V/M:方差均值比
Item:语句概览
第三部分:
Database:数据库名
Hosts:DB的host
Users:执行该语句的DB用户
Query_time distribution:该条语句执行时间的次数分布,###越多代表越多的执行时间在这个范围
其他:
如果要分析结果可视化,可以结合Anemometer等工具实现。
参考文档:
https://www.percona.com/doc/percona-toolkit/2.2/pt-query-digest.html
相关文章推荐
- 使用pt-query-digest分析mysql慢查询日志(mysql slow query log )
- mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用
- mysql 慢查询分析工具:pt-query-digest 在mac 上的安装使用
- 使用pt-query-digest分析慢查询日志
- 使用pt-query-digest分析mysql slow query log
- 使用pt-query-digest分析mysql slow query log
- 使用pt-query-digest分析mysql slow query log
- 通过pt-query-digest分析收集MySQL慢查询日志到指定位置
- 使用Anemometer基于pt-query-digest将MySQL慢查询可视化
- 使用Anemometer基于pt-query-digest将MySQL慢查询可视化
- 使用Anemometer基于pt-query-digest将MySQL慢查询可视化
- percona慢查询分析工具:pt-query-digest使用介绍
- 使用pt-query-digest分析mysql
- 使用Anemometer基于pt-query-digest将MySQL慢查询可视化
- MySQL慢查询之pt-query-digest分析慢查询日志
- pt-query-digest查询日志分析工具 - percona-toolkit使用教程之系统类工具
- pt-query-digest分析Mysql慢查询,Query-Digest-UI生成报表
- mysql慢查询分析工具 pt-query-digest
- 使用Anemometer基于pt-query-digest将MySQL慢查询可视化
- pt-query-digest分析mysql查询日志