分享更有价值
被信任是一种快乐

如何使用pt-query-digest工具

文章页正文上

这篇文章将为大家详细讲解有关如何使用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

# 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 TA免费主机域名BLE STATUS FROM `test` LIKE ‘TEST’G
表统计信息
# SHOW CREATE TABLE `test`.`TEST`G
# EXPLAIN /*!50100 PARTITI免费主机域名ONS*/
select * from testG
查询执行计划

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

相关推荐: 数据库中如何查看连续两天没有登录系统的用户

这篇文章主要为大家展示了“数据库中如何查看连续两天没有登录系统的用户”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“数据库中如何查看连续两天没有登录系统的用户”这篇文章吧。写sql的思路:以上是“数据库中如何查看连续…

文章页内容下
赞(0) 打赏
版权声明:本站采用知识共享、学习交流,不允许用于商业用途;文章由发布者自行承担一切责任,与本站无关。
文章页正文下
文章页评论上

云服务器、web空间可免费试用

宝塔面板主机、支持php,mysql等,SSL部署;安全高速企业专供99.999%稳定,另有高防主机、不限制内容等类型,具体可咨询QQ:360163164,Tel同微信:18905205712

主机选购导航云服务器试用

登录

找回密码

注册