加入收藏 | 设为首页 | 会员中心 | 我要投稿 银川站长网 (https://www.0951zz.com/)- 云通信、基础存储、云上网络、机器学习、视觉智能!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

利用PT-QQuery-Digest工具的用法

发布时间:2023-10-19 13:48:15 所属栏目:MySql教程 来源:
导读:这篇文章将为大家详细讲解有关如何使用pt-query-digest工具,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。slow log 分析:tail -n200000 slow.log.bak | pt-query-digest >sl

这篇文章将为大家详细讲解有关如何使用pt-query-digest工具,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

slow log 分析:

tail -n200000 slow.log.bak | pt-query-digest >slave.txt

报告最近半个小时的慢查询:

pt-query-digest --report --since 1800s slow.log

报告一个时间段的慢查询,且top 20 语句:

pt-query-digest --report --since '2014-12-30 14:50:00' --until '2014-12-30 14:59:59' --limit 20 --outliers slow.log 

报告只含select语句的慢查询:

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

报告针对某个用户的慢查询:

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

报告所有的全表扫描或full join的慢查询:

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

# 7.8s user time, 110ms system time, 22.48M rss, 177.75M vsz

pt-query-digest占用的用户时间和系统时间,rss内存,虚拟内存

# Current date: Thu Jan 1 11:00:16 2015

# Hostname: machine1

# Files: slow.log

# Overall: 437 total, 28 unique, 0.76 QPS, 0.64x concurrency _____________

总共语句数量,唯一语句数量,qps,并发数

# Time range: 2014-12-30 14:50:01 to 14:59:33

时间范围

# Attribute     total  min  max  avg  95% stddev median

# ============  ======= ======= ======= ======= ======= ======= =======

           总计   最小  最大  平均 百分比 

# Exec time     368s  88us  126s 842ms  34ms  10s  1ms

语句执行时间

# Lock time     78ms  39us  2ms 179us 445us 189us  98us

锁时间

# Rows sent     2.91k   0   95  6.82 65.89 17.33  0.99

传输到客户端的行数

# Rows examine  159.23M   0 52.94M 373.11k 1.53k 4.24M  4.96

扫描的行数大小

# Query size   471.95k   90 4.14k 1.08k 3.19k 1.33k 258.32

查询语句大小

# Profile

# Rank Query ID     Response time Calls R/Call V/M Item

# ==== ================== ============== ===== ======== ===== ============

#  1 0xE2D730FF50E6F592 364.5363 99.1%  3 121.5121 0.17 SELECT * FROM TEST

rank:语句排名,默认根据响应时间拍下,可以通过--order by修改

query id:查询语句的hash值

response time:响应时间

calls:查询语句执行次数

r/call:平均每次执行的响应时间

V/M:离差指数,执行时间变化较大。

# MISC 0xMISC       3.2034 0.9% 434 0.0074 0.0 <27 ITEMS>

# Query 1: 0.14 QPS, 16.57x concurrency, ID 0xE2D730FF50E6F592 at byte 14050954

QPS:每秒查询数

concurrency:并发数

ID:查询语句hash值

byte:查询语句在slow log文件中的位置

# This item is included in the report because it matches --limit.

# Scores: V/M = 0.17

# Time range: 2014-12-30 14:52:41 to 14:53:03

# Attribute  pct total  min  max  avg  95% stddev median

# ============ === ======= ======= ======= ======= ======= ======= =======

# Count     0   3

执行次数

# Exec time  99  365s  116s  126s  122s  124s   5s  118s

# Lock time   1  1ms 365us 463us 401us 445us  41us 366us

# Rows sent   0   0   0   0   0   0   0   0

# Rows examine 99 158.83M 52.94M 52.94M 52.94M 52.94M   0 52.94M

# Query size  0 1.32k  450  450  450  450   0  450

# String:

# Databases  test

# Hosts    10.1.1.44

客户端机器名

# Users    testuser

执行语句的用户名

# Query_time distribution

# 1us

# 10us

# 100us

# 1ms

# 10ms

# 100ms

#  1s

# 10s+ ################################################################

执行时间的分布图

# Tables

#  SHOW TABLE STATUS FROM `test` LIKE 'TEST'\G

表统计信息

#  SHOW CREATE TABLE `test`.`TEST`\G

# EXPLAIN /*!50100 PARTITIONS*/

select * from test\G

查询执行计划

关于“如何使用pt-query-digest工具”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。

(编辑:银川站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章