记一次使用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,一经查实,立即删除!

相关文章

App 运营的指标具体都有哪些?(四)

因产品而异&#xff0c;要看产品类型的工具类&#xff0c;启动次数很重要&#xff1b;社区类&#xff0c;活跃用户和UGC很重要&#xff1b;游戏&#xff0c;在线人数和arpu值是关键。。。转载于:https://blog.51cto.com/yerik/1166365

骗子公司陆续公布中...

11年04月11日&#xff0c;在网吧投简历&#xff0c;突然一条短信&#xff0c;算是收到的第一个面试通知&#xff0c;有点激动&#xff0c;“通诚公司”&#xff0c;而且我们4个同时收到&#xff0c;第一感觉就是不对劲&#xff0c;公司面试通知都会电话通知的&#xff0c;去百度…

Hadoop2.4.1入门实例:MaxTemperature

版权声明&#xff1a;本文为博主原创文章。转载请注明来自http://blog.csdn.net/jediael_lu/ https://blog.csdn.net/jediael_lu/article/details/37596469 注意&#xff1a;下面内容在2.x版本号与1.x版本号相同适用&#xff0c;已在2.4.1与1.2.0进行測试。一、前期准备 1、创建…

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…

MySQL中varchar(11)与int(11)的区别

结果&#xff1a; 对于varchar(11)&#xff1a;最多存储11个字符&#xff0c;超过则不存。 mysql> create table tt(c1 int primary key,c2 varchar(50))enginexxx; Query OK, 0 rows affected (0.15 sec)mysql> insert into tt values(1, aaaaaaaaaabbbbbbbbbbccccccc…

@Slf4j

注解Slf4j:&#xff08;当前日志为logback,其他日志框架不祥&#xff09; 直接使用log.xxxx("mothod is start") 例如&#xff1a;log.info("/returncode/add start"); 代替 如果不想每次都写 private final Logger logger LoggerFactory.getLog…

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

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

hdu 1161 Eddy's mistakes

http://acm.hdu.edu.cn/showproblem.php?pid1161 本题主要运用的就是大小写的转换&#xff1b; 我写的代码&#xff1a; #include<iostream>#include <string>#include <ctype.h>using namespace std;int main(int argc, char *argv[]){ string a; ch…

今年适合买房吗

本人是程序员&#xff0c;今天不聊程序相关的事情。不过今天有了点时间&#xff0c;考虑了下今年是否适合买房这件事。因为从中央到地方都在鼓励买房&#xff0c;每个人根据自己的实际情况决定是否要买房。 优点&#xff1a; (1)、房贷利率低&#xff0c;基本上是历史低点了 …

[18]Debian Linux Install GNU GCC Compiler and Development Environment

# apt-getinstall build-essential# gcc -v# make -v转载于:https://www.cnblogs.com/smartvessel/archive/2011/04/16/2018459.html

FireEye:2012年下半年高级威胁分析报告

最近&#xff0c;fireeye发布了2012年的高级威胁分析报告。根据对超过8900万获取的恶意代码事件进行分析&#xff0c;Fireeye认为&#xff1a; 1&#xff09;平均一个组织和单位每三分钟就会遭受一次恶意代码***&#xff0c;特指带有恶意附件、或者恶意WEB链接、或者CnC通讯的邮…

main()的参数argc与argv

C语言中的main()函数,一般会带有2个参数,例如int main (int argc, char* argv[]),这是一个典型的main函数的声明。 参数如下&#xff1a; argc: 整数, 为传给main()的命令行参数个数。 argv: 字符串数组。 在DOS 3.X 版本中, argv[0] 为程序运行的全路径…

数组中的forEach和map的区别

大多数情况下&#xff0c;我们都要对数组进行遍历&#xff0c;然后经常用到的两个方法就是forEach和map方法。先来说说它们的共同点 相同点 都是循环遍历数组中的每一项forEach和map方法里每次执行匿名函数都支持3个参数&#xff0c;参数分别是item&#xff08;当前每一项&…

1298 FORZA David Beckham

经典01背包问题&#xff0c;没有什么陷阱&#xff0c;唯一要求就是要优化空间复杂度&#xff01;下面是关于01背包的讲解&#xff1a; 01背包问题是最基础的背包问题&#xff0c;特点是&#xff1a;每种物品仅有一件&#xff0c;可以选择放或不放。用子问题定义状态&#xff1a…

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…

信号量进程同步与互斥

2.哲学家吃面问题 semaphore fork[5]; for(int i0; i<5;i) fork[i]1; cobegin process philosopher_i( ){ while(ture){ think( ); P(fork[i]); P(fork[(i10%5])&#xff1b; eat&#xff08;&#xff09;&#xff1b; V(fork[i]); V(fork[(i10%5])&#xff1b; } } coend 5…

企业面试中关于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;在右半部分会显示编译…