pt-query-digest分析mysql日志

前言:

最近生产环境上的RDS实例在工作时间内CPU利用率一直持续保持在100%,为了解决这个问题,下面使用了pt-query-digest工具来分析mysql的slow_log和general_log.至于为什么使用pt-query-digest,是因为它安装和使用较为简单,功能又比mysql自带mysqldumpslow强大,网上也有很多人推荐使用mysqlsla,这边不做过多比较。

  1. 开启mysql日志,因为我们生产环境mysql使用的是aws提供的云服务,所以在控制台通过参数组中配置参数即可,自己安装的mysql也只需要配置这几个参数:slow_query_log,general_log,log_output(这个设置成FILE);log_queries_not_using_indexes;
  2. 安装pt-query-digest,pt-query-digest是属于percona tookit里的一个工具,所以可以按照percona官方文档安装整个toolkit,官方提供ubuntu和centos两种方式,这边搬过来,因为可能某些同学无法访问到官方网站 。

1)安装源,Configure Percona repositories as described in Percona Software Repositories Documentation.

centos:

sudo yum install http://www.percona.com/downloads/percona-release/redhat/0.1-6/percona-release-0.1-6.noarch.rpm

ubuntu:

1.Fetch the repository package:

wget https://repo.percona.com/apt/percona-release_0.1-6.$(lsb_release -sc)_all.deb

2.Install the repository package:

sudo dpkg -i percona-release_0.1-6.$(lsb_release -sc)_all.deb

3.Update local apt cache:

sudo apt-get update

4.Make sure that Percona packages are available:

sudo apt-cache search percona

2) 安装

centos:

sudo yum install percona-toolkit

ubuntu

sudo apt-get install percona-toolkit

因为我的服务器是centos系列的,所以centos亲测可以安装成功;

如果不想装percona toolkit的话。也可以选择单独安装pt-query-digest,方法如下:

# yum install perl-DBI
# yum install perl-DBD-MySQL
# yum install perl-Time-HiRes
# yum install perl-IO-Socket-SSL
# wget https://www.percona.com/get/pt-query-digest
# chmod u+x pt-query-digest

pt-query-digest就是一个可执行文件,可以直接使用了。

直接分析日志文件,生成 报告:

#pt-query-digest mysql-slowquery.log >slowlog-report.log

查看报告 more slowlog-report.log 显示如下:

 属性字段说明,这边从官网复制过来:

Column        Meaning
============  ==========================================================
Rank          The query's rank within the entire set of queries analyzed
Query ID      The query's fingerprint
Response time The total response time, and percentage of overall total
Calls         The number of times this query was executed
R/Call        The mean response time per execution
V/M           The Variance-to-mean ratio of response time
Item          The distilled query

几个常用的运行参数

--order-by  

Query_time:sum  按查询中时间来排序

--limit  默认显示20条记录

--type  

默认使用slowlog,可选  binlog、genlog、tcpdump

 

通过查看下面具体每一条记录的 报告,可以 找到耗时较多且查询 次数较多的sql,通过hosts可以找到具体是由哪一台服务器 上的项目,由此来定位具体的问题 ;更多使用 方法见 官网 

 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

思无邪1990

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值