pt-query-digest使用

参考地址: http://blog.csdn.net/seteor/article/details/24017913


1 工具简介

	pt-query-digest是用于分析mysql慢查询的一个工具,它可以分析binlogGeneral logslowlog,也可以通过SHOWPROCESSLIST或者通过tcpdump抓取的MySQL协议数据来进行分析。可以把分析结果输出到文件中,分析过程是先对查询语句的条件进行参数化,然后对参数化以后的查询进行分组统计,统计出各查询的执行时间、次数、占比等,可以借助分析结果找出问题进行优化。
pt-query-digest是一个perl脚本,只需下载并赋权即可执行。
[root@test1 ]# wget percona.com/get/pt-query-digest 
[root@test1 ]# chmod u+x pt-query-digest

2 使用方式

pt-query-digest使用还是比较简单的
查询所有pt-query-digest命令: pt-query-digest --help

 
 

pt-query-digest [OPTIONS] [FILES] [DSN]

--create-review-table  当使用--review参数把分析结果输出到表中时,如果没有表就自动创建。 --create-history-table  当使用--history参数把分析结果输出到表中时,如果没有表就自动创建。 --filter  对输入的慢查询按指定的字符串进行匹配过滤后再进行分析 --limit 限制输出结果百分比数量的sql,默认分析出95%的sql进行优化值是20,即将最慢的20条语句输出,如果是50%则按总响应时间占比从大到小排序,输出到总和达到50%位置截止。 --host  MySQL服务器地址 --user  mysql用户名 --password  mysql用户密码 --history 将分析结果保存到表中,分析结果比较详细,下次再使用--history时,如果存在相同的语句,且查询所在的时间区间和历史表中的不同,则会记录到数据表中,可以通过查询同一CHECKSUM来比较某类型查询的历史变化。 --review 将分析结果保存到表中(物理表),这个分析只是对查询条件进行参数化,一个类型的查询一条记录,比较简单。当下次使用--review时,如果存在相同的语句分析,就不会记录到数据表中。

(以备我们日后对查询结果分析或者对查询结果进行存储) --output 分析结果输出类型,值可以是report(标准分析报告)slowlog(Mysql slow log)jsonjson-anon,一般使用report,以便于阅读。 --since 从什么时间开始分析,值为字符串,可以是指定的某个”yyyy-mm-dd [hh:mm:ss]”格式的时间点,也可以是简单的一个时间值:s()h(小时)m(分钟)d(),如12h就表示从12小时前开始统计。 --until 截止时间,配合—since可以分析一段时间内的慢查询。

(*注:红色加粗字体都是pt-query-digest常用命令)

基本使用:
pt-query-digest +慢查询日志位置
pt-query-digest /home/mysql/data/mysql-slow.log | more

通过Rows sent(发送的行数)和Rows examine(扫描的行数)来看, Rows_examine的值远远大于Rows_sent值可以断定扫描的行数远远大于要查询的行数, 说明索引需要优化
*注:一个sql扫描的行数越多,说明io开销就越大

上面列出了表和一些执行语句的统计,调用次数,表执行期间占用的时间最多的信息等

Query 1就是我们具体分析的sql

 
 
 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值