使用pt-query-digest分析慢查询日志

介绍

pt-query-digest 属于 Percona Toolkit 工具集中较为常用的工具,用于分析 slow log,可以分析 MySQL 数据库的 binary log 、 general log 日志,同时也可以使用 show processlist 或从 tcpdump 抓取的 MySQL 协议数据来进行分析。

安装

wget https://www.percona.com/downloads/percona-toolkit/3.2.1/binary/redhat/7/x86_64/percona-toolkit-3.2.1-1.el7.x86_64.rpm
yum -y localinstall percona-toolkit-3.2.1-1.el7.x86_64.rpm

sql配置检查

  mysql> show variables;+----------------------------------------+--------------------------------------------+| Variable_name                          | Value                                      |+----------------------------------------+--------------------------------------------+| log_slow_admin_statements              | OFF                                        || log_slow_slave_statements              | OFF                                        || slow_launch_time                       | 2                                          || slow_query_log                         | ON                                         || slow_query_log_file                    | /data/mysql/log/mysql-slow.log             || log_queries_not_using_indexes          | ON                                         |+----------------------------------------+--------------------------------------------+
  • log_queries_not_using_indexes: 开启会记录没有使用index的SQL语句
  • slow_query_log: 慢日志是否开启
  • slow_launch_time:慢日志登记时间

使用

pt-query-digest  --since='2019-02-27 09:30:00'   --until=2019-02-27 09:31:00'   mysql-slow.log  >  mysql-slow-report.log

说明

  • Rank:所有语句的排名,默认按查询时间降序排列
  • Query ID:语句的ID
  • Response:总的响应时间
  • time:该查询在本次分析中总的时间占比
  • calls:执行次数,即本次分析总共有多少条这种类型的查询语句
  • R/Call:平均每次执行的响应时间
  • V/M:响应时间Variance-to-mean的比率

    常用用法

1.直接分析慢查询文件:

pt-query-digest slow.log > slow_report.log

2.分析最近12小时内的查询:

pt-query-digest  --since=12h   slow.log > slow_report2.log

3.分析指定时间范围内的查询:

pt-query-digest slow.log  --since '2017-01-07 09:30:00'   --until '2017-01-07 10:00:00' > slow_report3.log

4.分析指含有select语句的慢查询

pt-query-digest  --filter   '$event->{fingerprint} =~ m/^select/i'   slow.log  > slow_report4.log

5针对某个用户的慢查询

pt-query-digest --filter '($event->{user} || "") =~ m/^root/i'  slow.log > slow_report5.log

6.查询所有全表扫描或full join的慢查询

pt-query-digest  --filter '(($event->{Full_scan} || "") eq "yes") ||(($event->{Full_join} || "") eq "yes")' slow.log  > slow_report6.log

7.把查询保存到query_review表

pt-query-digest  --user=root  -password=abc123  --review h=localhost,D=test,t=query_review  --create-review-table  slow.log

8.分析binlog

mysqlbinlog mysql-bin.000093    > mysql-bin000093.sql
pt-query-digest   --type=binlog  mysql-bin000093.sql  >  slow_report10.log

9.分析general log

pt-query-digest  --type=genlog  localhost.log  > slow_report11.log

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/214872.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

软件开发的高效神器,程序员爱不释手

目录 一、低代码助力开发 二、低代码核心功能 1.业务建模: 2.表单建模: 3.页面建模: 4.流程建模: 5.报表建模: 6.门户建模: 7.大屏建模: 8.移动建模: 三、低代码解放程序员的双手 在…

可视化工作流管理流程及工具

Leangoo领歌是一款永久免费的专业的敏捷开发管理工具,提供端到端敏捷研发管理解决方案,涵盖敏捷需求管理、任务协同、进展跟踪、统计度量等。 Leangoo领歌上手快、实施成本低,可帮助企业快速落地敏捷,提质增效、缩短周期、加速创新…

完善农业农村基础数据资源体系,加速乡村振兴

完善农业农村基础数据资源体系,加速乡村振兴 随着乡村振兴战略的实施,农业农村基础设施建设也得到了越来越多的关注。然而,在实施这一战略的过程中,我们也必须认识到,完善农业农村基础数据资源体系同样是十分重要的。 …

Youtube0播放?运营教你需要的技巧、策略与工具!

对于有跨境意向的内容创作者或者品牌企业来说,YouTube是因其巨大的潜在受众群和商业价值成为最值得投入变现与营销计划的平台。 据统计,98% 的美国人每月访问 YouTube,近三分之二的人每天访问。但是,YouTube还远未达到过度饱和的…

交叉导轨在光学工作台起什么重要作用?

光学工作台常常需要承载和移动各种光学元件和仪器,如望远镜、显微镜、光谱仪等,这些设备需要在空间中进行精确的定位和稳定支撑,而交叉导轨作为一种高精度、高刚度的直线传动元件,为光学工作台提供了重要的支撑和导向。 1>交叉…

Altium Designer学习笔记11

画一个LED的封装: 使用这个SMD5050的封装。 我们先看下这个芯片的功能说明: 5050贴片式发光二极管: XL-5050 是单线传输的三通道LED驱动控制芯片,采用的是单极性归零码协议。 数据再生模块的功能,自动将级联输出的数…

竞赛选题 题目:基于LSTM的预测算法 - 股票预测 天气预测 房价预测

文章目录 0 简介1 基于 Keras 用 LSTM 网络做时间序列预测2 长短记忆网络3 LSTM 网络结构和原理3.1 LSTM核心思想3.2 遗忘门3.3 输入门3.4 输出门 4 基于LSTM的天气预测4.1 数据集4.2 预测示例 5 基于LSTM的股票价格预测5.1 数据集5.2 实现代码 6 lstm 预测航空旅客数目数据集预…

Git 与 Maven:企业级版本管理与版本控制规范设计

一、背景 当今,许多开发人员熟悉 GitFlow 工作流程,但往往忽略了 GitFlow 如何与 Maven 版本控制结合,尤其是在管理 snapshot 和 release 版本时的最佳实践。本文旨在整合 GitFlow 工作流程与 Maven 版本管理,提出一个统一的企业…

MySQL 基于成本的优化

其实在MySQL中⼀条查询语句的执⾏成本是由下边这两个⽅⾯组成的: I/O成本 我们的表经常使⽤的MyISAM、InnoDB存储引擎都是将数据和索引都存储到磁盘上的,当我们想查询表中的记录时,需要先把数据或者索引加载到内存中 然后再操作。这个从磁盘…

MarkDown学习

MarkDown学习 标题 三级标题 四级标题 字体 加粗(两侧加两个星号):Hello,World! 斜体(两侧加一个星号):Hello,World! 加粗加斜体(两侧加三个星号)&#xff1a…

kubernetes使用nfs创建pvc部署mysql stateful的方法

kubernetes创建的pod默认都是无状态的,换句话说删除以后不会保留任何数据。 所以对于mysql这种有状态的应用,必须使用持久化存储作为支撑,才能部署成有状态的stateful. 最简单的方法就是使用nfs作为网络存储,因为nfs存储很容易被…

树莓派上使用Nginx通过内网穿透实现无公网IP访问内网本地站点

前言 安装 Nginx(发音为“engine-x”)可以将您的树莓派变成一个强大的 Web 服务器,可以用于托管网站或 Web 应用程序。相比其他 Web 服务器,Nginx 的内存占用率非常低,可以在树莓派等资源受限的设备上运行。同时结合c…