记一次使用pt-query-digest工具分析MySQL慢查询日志

最近遇到了MySQL性能问题,使用percona 的 pt-query-digest工具分析性能的瓶颈点。并且pt-query-digest工具要优于MySQL本身自带的mysqldumpslow工具。

查看pt-query-digest工具在ubuntu下的安装流程请看:ubuntu下安装pt-query-digest_一缕阳光a的博客-CSDN博客icon-default.png?t=M4ADhttps://blog.csdn.net/zgaoq/article/details/124710484?spm=1001.2014.3001.5502

先将结果贴上,然后在分析:

[root@xxx log]# pt-query-digest   mysql-slow.log
# 110ms user time, 20ms system time, 37.57M rss, 49.25M vsz
# Current date: Wed May 11 15:49:08 2022
# Hostname: aaaa
# Files: /home/ddd/slow_query/slow3306_small.log
# Overall: 10 total, 7 unique, 0.00 QPS, 0.02x concurrency _______________
# Time range: 2022-04-27T15:39:28 to 2022-04-28T14:55:06
# Attribute          total     min     max     avg     95%  stddev  median
# ============     ======= ======= ======= ======= ======= ======= =======
# Exec time          1648s   500ms    827s    165s    271s    235s     29s
# Lock time            6ms       0     1ms   629us   925us   343us   626us
# Rows sent              1       0       1    0.10       0    0.30       0
# Rows examine      25.35M   1.48k   4.81M   2.53M   4.70M   2.21M   4.70M
# Rows affecte       1.43M       0 488.28k 146.48k 485.50k 222.49k       0
# Bytes sent         4.64G       0   1.08G 475.62M   1.08G 506.28M 106.64M
# Query size           864      13     543   78.55  118.34  147.95   21.45# Profile
# Rank Query ID                            Response time   Calls R/Call   
# ==== =================================== =============== ===== ======== 
#    1 0x7738DBC3D65602BBA1A040E0905E1052  1024.3274 62.2%     2 512.1637 38... UPDATE sbtest?
#    2 0x43ED0F75107CE7B9724C1FA36FFD880F   590.3572 35.8%     4 147.5893 97.58 UPDATE sbtest?
# MISC 0xMISC                                33.2763  2.0%     4   8.3191   0.0 <4 ITEMS># Query 1: 0.00 QPS, 0.74x concurrency, ID 0x7738DBC3D65602BBA1A040E0905E1052 at byte 4018
# This item is included in the report because it matches --limit.
# Scores: V/M = 387.17
# Time range: 2022-04-28T14:32:08 to 2022-04-28T14:55:06
# Attribute    pct   total     min     max     avg     95%  stddev  median
# ============ === ======= ======= ======= ======= ======= ======= =======
# Count         20       2
# Exec time     62   1024s    197s    827s    512s    827s    445s    512s
# Lock time     29     2ms   926us   932us   929us   932us     4us   929us
# Rows sent      0       0       0       0       0       0       0       0
# Rows examine  37   9.61M   4.81M   4.81M   4.81M   4.81M       0   4.81M
# Rows affecte   0       0       0       0       0       0       0       0
# Bytes sent    46   2.16G   1.08G   1.08G   1.08G   1.08G    4.24   1.08G
# Query size     5      48      24      24      24      24       0      24
# String:
# Databases    test
# Hosts        127.0.0.1
# Last errno   1180
# Users        xxxxx
# Query_time distribution
#   1us
#  10us
# 100us
#   1ms
#  10ms
# 100ms
#    1s
#  10s+  ################################################################
# Tables
#    SHOW TABLE STATUS FROM `test` LIKE 'sbtest1'\G
#    SHOW CREATE TABLE `test`.`sbtest1`\G
update sbtest1 set k=k+2\G
# Converted for EXPLAIN
# EXPLAIN /*!50100 PARTITIONS*/
select  k=k+2 from sbtest1 \G# Query 2: 0.00 QPS, 0.01x concurrency, ID 0x43ED0F75107CE7B9724C1FA36FFD880F at byte 1793
# This item is included in the report because it matches --limit.
# Scores: V/M = 97.58
# Time range: 2022-04-27T16:00:34 to 2022-04-28T14:07:24
# Attribute    pct   total     min     max     avg     95%  stddev  median
# ============ === ======= ======= ======= ======= ======= ======= =======
# Count         40       4
# Exec time     35    590s     23s    273s    148s    271s    120s    265s
# Lock time     37     2ms   536us   638us   596us   626us    41us   596us
# Rows sent      0       0       0       0       0       0       0       0
# Rows examine  41  10.49M 488.28k   4.77M   2.62M   4.70M   2.11M   4.70M
# Rows affecte  66 976.56k       0 488.28k 244.14k 485.50k 242.75k 485.50k
# Bytes sent    51   2.38G 109.52M   1.08G 609.52M   1.08G 500.00M   1.08G
# Query size    10      88      22      22      22      22       0      22
# String:
# Databases    test
# Hosts        127.0.0.1
# Last errno   0 (2/50%), 1180 (2/50%)
# Users        xxxx
# Query_time distribution
#   1us
#  10us
# 100us
#   1ms
#  10ms
# 100ms
#    1s
#  10s+  ################################################################
# Tables
#    SHOW TABLE STATUS FROM `test` LIKE 'sbtest1'\G
#    SHOW CREATE TABLE `test`.`sbtest1`\G
update sbtest1 set d=1\G
# Converted for EXPLAIN
# EXPLAIN /*!50100 PARTITIONS*/
select  d=1 from sbtest1 \G

下面根据各个部分进行详解:

第一部分:输出结果的总体信息

说明:执行过程中在用户中所花费的所有时间;
执行过程中内核空间中所花费的所有时间
pt-query-digest进程所分配的内存大小
pt-query-digest进程所分配的虚拟内存大小
# 120ms user time, 10ms system time, 37.39M rss, 49.25M vsz说明:当前日期
# Current date: Wed May 11 15:30:59 2022说明:执行pt-query-digest的主机名
# Hostname: aaaaa说明:被分析的文件名
# Files: /home/ddd/slow_query/slow3306_small.log说明:语句总数量,唯一语句数量,每秒查询量,查询的并发
# Overall: 10 total, 7 unique, 0.00 QPS, 0.02x concurrency _______________说明:执行过程中日志记录的时间范围
# Time range: 2022-04-27T15:39:28 to 2022-04-28T14:55:06

# Attribute          total     min     max     avg     95%  stddev  median
# ============     ======= ======= ======= ======= ======= ======= =======
说明:执行时间
# Exec time          1648s   500ms    827s    165s    271s    235s     29s
说明:锁占用时间
# Lock time            6ms       0     1ms   629us   925us   343us   626us
说明:发送到客户端的行数
# Rows sent              1       0       1    0.10       0    0.30       0
说明:扫描的语句行数
# Rows examine      25.35M   1.48k   4.81M   2.53M   4.70M   2.21M   4.70M
说明:操作的行数
# Rows affecte       1.43M       0 488.28k 146.48k 485.50k 222.49k       0
说明:发送到客户端的字符数
# Bytes sent         4.64G       0   1.08G 475.62M   1.08G 506.28M 106.64M
说明:查询的字符数
# Query size           864      13     543   78.55  118.34  147.95   21.45

第二部分:输出总体统计信息

SQL语句的等级
Query ID:去掉了中间的符号
Response time:响应时间
Calls: 响应次数 
R/Call:每次响应的时间# Profile
# Rank Query ID                            Response time   Calls R/Call   
# ==== =================================== =============== ===== ========
#    1 0x7738DBC3D65602BBA1A040E0905E1052  1024.3274 62.2%     2 512.1637 38... UPDATE sbtest?
#    2 0x43ED0F75107CE7B9724C1FA36FFD880F   590.3572 35.8%     4 147.5893 97.58 UPDATE sbtest?
# MISC 0xMISC                                33.2763  2.0%     4   8.3191   0.0 <4 ITEMS>

第三部分:输出每列查询的详细信息

以下面这个为例:

说明:查询队列1:每秒查询量,查询的并发,队列1的ID值,4018:表示文中偏移量(查看方法在下面‘偏1’中)
# Query 1: 0.00 QPS, 0.74x concurrency, ID 0x7738DBC3D65602BBA1A040E0905E1052 at byte 4018
# This item is included in the report because it matches --limit.
# Scores: V/M = 387.17
# Time range: 2022-04-28T14:32:08 to 2022-04-28T14:55:06
# Attribute    pct   total     min     max     avg     95%  stddev  median
# ============ === ======= ======= ======= ======= ======= ======= =======
# Count         20       2
# Exec time     62   1024s    197s    827s    512s    827s    445s    512s
# Lock time     29     2ms   926us   932us   929us   932us     4us   929us
# Rows sent      0       0       0       0       0       0       0       0
# Rows examine  37   9.61M   4.81M   4.81M   4.81M   4.81M       0   4.81M
# Rows affecte   0       0       0       0       0       0       0       0
# Bytes sent    46   2.16G   1.08G   1.08G   1.08G   1.08G    4.24   1.08G
# Query size     5      48      24      24      24      24       0      24
# String:
说明:使用的数据库名称
# Databases    test
说明:使用的主机IP
# Hosts        127.0.0.1
说明:上次的错误码
# Last errno   1180
说明:使用的用户名
# Users        xxx
说明:查询时间分布
# Query_time distribution
#   1us
#  10us
# 100us
#   1ms
#  10ms
# 100ms
#    1s
#  10s+  ################################################################
说明:执行的慢语句信息
# Tables
#    SHOW TABLE STATUS FROM `test` LIKE 'sbtest1'\G
#    SHOW CREATE TABLE `test`.`sbtest1`\G
update sbtest1 set k=k+2\G
# Converted for EXPLAIN
# EXPLAIN /*!50100 PARTITIONS*/
select  k=k+2 from sbtest1 \G

总之,percona pt-query-digest工具比较全面的分析了MySQL的慢查询日志,要比MySQL自身的慢日志工具mysqldumpslow要优秀,因此最好使用percona的 pt-query-digest 工具进行慢日志查询。

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

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

相关文章

Entity Framework 4.1 DbContext使用记之三——如何玩转实体的属性值?

之前的两篇有关EF4.1的文章反响不错&#xff0c;感谢大家的支持&#xff01;想体验EF4.1的新功能&#xff1f;RTW版本已经发布啦&#xff0c;http://www.microsoft.com/downloads/en/details.aspx?FamilyIDb41c728e-9b4f-4331-a1a8-537d16c6acdf&displaylangen Entity …

[WorldWind学习]5.相机对象

首先查看WorldWindow的事件&#xff1a;OnMouseUp、OnMouseMove、HandleKeyDown&#xff0c;这几个方法中多次调用this.drawArgs.WorldCamera的各种属性实现了场景的控制&#xff0c;包括球的旋转、场景的放大缩小&#xff0c;上下移动。 1. 接下来查看CameraBase类RotationYaw…

在VS2010开发的MVC3 应用程序中设定默认的浏览器

vs2010做mvc3 开发,用的是Razor的View,想修改默认浏览器,发现右键没有"浏览方式",把View改成.aspx的,也没有找到这个选项. 解决方法两种 (1)最简单的,建个Asp.net Web应用程序,在随便一个xxx.aspx页面,右键"浏览方式"即可.. (2)通过修改项目属性也可以,右键…

android 获取lanucher 列表

引用&#xff1a;http://www.iteye.com/topic/696187 获取Launcher 启动列表 即 列出所有Launcher程序 通过PackageManager 来获取 [代码 步骤] 1. 定义内部类 LauncherItem 用于定义Application相关属性 比如&#xff1a;图标 名称 以及 ComponentName Java代码 public clas…

对int变量赋值的操作是原子的吗?

对于例子如下&#xff1a; int count 0; count; // 是原子操作吗? count; 是原子操作吗? 先说答案&#xff1a; 1、在单处理器下&#xff0c;如果将 count; 语句 翻译为单指令时&#xff0c;是原子操作。 不过现在处理器都会对语句进行优化。 2、在多处理器下&#xf…

企业面试中关于MYSQL重点的28道面试题解答

问题1&#xff1a;char、varchar的区别是什么&#xff1f; varchar是变长而char的长度是固定的。如果你的内容是固定大小的&#xff0c;你会得到更好的性能。 问题2: TRUNCATE和DELETE的区别是什么&#xff1f; DELETE命令从一个表中删除某一行&#xff0c;或多行&#xff0c;T…

普通的int main(){}没有写return 0;会怎么样?

结论可能大家看上面的图就知道了&#xff0c;没有加return 0;编译器会自动添加一个。那怎么证明呢&#xff1f; 可以查看相应的汇编代码&#xff0c;查看汇编代码推荐使用godbolt.org网站&#xff0c;相当方便。 如上图&#xff0c;输入C代码&#xff0c;在右半部分会显示编译…

python 内置方法 BUILT-IN METHODS

setattr getattr hasattr 1. abs() returns absolute value of a number 返回绝对值 integer -20 print(Absolute value of -20 is:, abs(integer)) 2. all() returns true when all elements in iterable is true 都为true则为true 3. any() Checks if any Element of an Ite…

并发与并行的区别

学习多线程的时候会遇到一个名词&#xff1a;并发。这是属于操作系统中的词汇&#xff0c;需要了解并发和并行的区别&#xff0c;从网上搜集了几种说法帮助理解。 一&#xff1a; 并发是指一个处理器同时处理多个任务。 并行是指多个处理器或者是多核的处理器同时处理多个不同的…

Oracle PL/SQL块 多表查询(emp员工表、dept部门表、salgrade工资等级表)

范例: 查询每个员工的编号&#xff0c;姓名&#xff0c;职位&#xff0c;工资&#xff0c;工资等级&#xff0c;部门名称●确定要使用的数据表|- emp表&#xff1a;员工的编号、姓名、职位、工资|- salgrade表&#xff1a;工资等级|- dept表&#xff1a;部门名称●确定已知的关…

多线程的互斥锁应用RAII机制

什么是RAII机制 RAII是Resource Acquisition Is Initialization&#xff08;翻译成 “资源获取即初始化”&#xff09;的简称&#xff0c;是C语言的一种管理资源、避免资源泄漏的惯用法&#xff0c;该方法依赖构造函数资和析构函数的执行机制。 RAII的做法是使用一个类对象&a…

asp.net 浏览服务器文件

http://www.csharpwin.com/dotnetspace/12018r482.shtml 前台文件file.aspx <% Page Language"C#"AutoEventWireup"true"CodeFile"file.aspx.cs"Inherits"file"%> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transi…

pynput模块—键盘鼠标操作和监听

pynput.mouse&#xff1a;包含控制和监控鼠标或者触摸板的类。 pynput.keyboard&#xff1a;包含控制和监控键盘的类。 上面提到的子包都已被引入到pynput库中。要使用上面的子包&#xff0c;从pynput中引入即可。 下面有详细的示例文档。 控制鼠标 使用pynput.mouse控制鼠标&a…

Windows 恢复环境(Windows RE模式)

Windows 恢复环境 (Windows RE) 是一个能修复无法启动操作系统的常见问题的恢复环境。Windows 预安装环境 (Windows PE) 是具有有限服务的最小 Win32 操作系统。Windows RE 建立在 Windows 预安装环境 (Windows PE) 的基础上&#xff0c;并且可以用附加的驱动程序、语言、Windo…

开源许可证GPL、BSD、MIT、Mozilla、Apache和LGPL的区别

最近工作中遇到了开源许可证的问题&#xff0c;需要测试基于开源软件开发的本公司产品满足哪些开源协议&#xff0c;网上找了一些关于这方面的解答&#xff0c;在此备份下&#xff1a; 首先借用有心人士的一张相当直观清晰的图来划分各种协议&#xff1a;开源许可证GPL、BSD、M…

什么是 mmap

1. mmap 基础概念 mmap 即 memory map&#xff0c;也就是内存映射。 mmap 是一种内存映射文件的方法&#xff0c;即将一个文件或者其它对象映射到进程的地址空间&#xff0c;实现文件磁盘地址和进程虚拟地址空间中一段虚拟地址的一一对映关系。实现这样的映射关系后&#xff…

win10 + 独显 + Anaconda3 + tensorflow_gpu1.13 安装教程(跑bert模型)

这里面有很多坑&#xff0c;最大的坑是发现各方面都装好了结果报错 Loaded runtime CuDNN library: 7.3.1 but source was compiled with: 7.4.1&#xff0c;这是由于最新的tensorflow1.13需要用 Cudnn7.4.1编译。这个问题&#xff0c;StackOverflow上有人问到&#xff0c;但是…

Oracle client 安装、配置

一、安装 链接: https://pan.baidu.com/s/1Yph6hiNkCJsApAzu_Vx2ew 提取码: r9ye 二、配置 1、控制面板\所有控制面板项\管理工具\数据源(ODBC) 注&#xff1a;odbc 分 64 位和 32 位的2、测试 ODBC 连接 Oracle 数据库点击 ODBC&#xff0c;在“用户 DSN”页签下点击添加按钮…

ADO.NET- 基础总结及实例

1、ADO.NET基础介绍 &#xff08;1、程序要和数据库交互要通过ADO.NET进行&#xff0c;通过ADO.NET就能在程序中执行SQL了。ADO.Net中提供了对各种不同数据库的统一操作接口。 (2、直接在项目中内嵌mdf文件的方式使用SQL Server数据库&#xff08;基于服务的数据库&#xff09;…

获取指定日期所属年份的第一天日期或最后一天日期

写了2个自定义函数&#xff0c;获取指定日期所在年份的第一天日期或最后一天的日期&#xff1a; SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- -- Author: Insus.NET -- Create date: 2019-05-09 -- Update date: 2019-05-09 -- Description: 获取指定日期所属年…