mysql5.6 pt-query-digest,分析pt-query-digest输出信息
#pt-query-digest mysql-slow.log
--分析mysql-slow.log這個慢查詢日志文件
# A software update is available:
#?? * The current version for Percona::Toolkit is 2.2.9.
# 170ms user time, 10ms system time, 26.00M rss, 213.39M vsz
--此工具執行日志分析時的所用時間、內存資源(rss物理內存占用大小,vsz虛擬內存占用大小)
# Current date: Mon Jul 28 09:55:34 2014
--分析時的系統時間
# Hostname: lump.group.com
--進行分析的主機名,非記錄日志的數據庫服務器
# Files: mysql-slow.log
--分析的日志文件名稱
# Overall: 5 total, 4 unique, 0.02 QPS, 0.04x concurrency ________________
--文件中總共的語句數量,唯一的語句數量(對語句進行了格式化),QPS,并發數
# Time range: 2014-07-28 09:50:30 to 09:54:50
--記錄日志的時間范圍
--開始總的摘要信息
# Attribute????????? total???? min???? max???? avg???? 95%? stddev? median
--total總計,min最小,max最大,avg平均,95%把所有值從小到大排列,位于95%的那個數
# ============???? ======= ======= ======= ======= ======= ======= =======
# Exec time??????????? 10s????? 1s????? 3s????? 2s????? 3s?? 753ms????? 1s
# Lock time????????? 196us?????? 0??? 79us??? 39us??? 76us??? 33us??? 42us
# Rows sent????????? 1.40k?????? 0???? 716???? 287? 685.39? 335.14??? 3.89
# Rows examine????? 15.32k?????? 0? 11.13k?? 3.06k? 10.80k?? 4.02k?? 2.06k
# Rows affecte?????????? 0?????? 0?????? 0?????? 0?????? 0?????? 0?????? 0
# Bytes sent??????? 72.42k????? 11? 38.85k? 14.48k? 38.40k? 17.57k? 234.30
# Query size?????????? 807?????? 6???? 342? 161.40? 329.68? 146.53? 112.70
--
Exec time:語句執行時間
--
Lock time:鎖占有時間
--Rows sent:發送到客戶端的行數
--Row examine:掃描的行數(SELECT語句)
--Row affecte:發送改變的行數(UPDATE, DELETE, INSERT語句
)
--Bytes sent:發送多少bytes的
查詢結果集
--Query size:查詢語句的字符數
# Profile
# Rank Query ID?????????? Response time Calls R/Call V/M?? Item
# ==== ================== ============= ===== ====== ===== ===============
#??? 1 0x4A9CF4735A0490F2? 3.1898 31.9%???? 1 3.1898? 0.00 SELECT history_uint
#??? 2 0x2B0044BDE0960A2F? 2.6991 27.0%???? 1 2.6991? 0.00 SELECT history
#??? 3 0x813031B8BBC3B329? 2.5755 25.7%???? 2 1.2877? 0.00 COMMIT
#??? 4 0x469563A79E581DDB? 1.5380 15.4%???? 1 1.5380? 0.00 SELECT sessions
--Rank:分析的所有查詢語句的排名,默認按查詢時間降序排序,可以通過--order-by指定排序方式
--Query ID:查詢語句的指紋,去掉了多余空格、和文本字符
--Response time:響應時間,占所有響應時間的百分比
--Calls:查詢執行的次數
--R/Call:每次執行的平均響應時間
--V/M:響應時間Variance-to-mean的比率,參考:http://en.wikipedia.org/wiki/Index_of_dispersion
--Item:查詢語句
--最后一行沒有包括在報告中的查詢合計統計信息,如使用了選項--limit和--outliers
--開始每個獨立查詢語句的分析
# Query 1: 0 QPS, 0x concurrency, ID 0x4A9CF4735A0490F2 at byte 591 ______
--QPS:每秒查詢數(queries per second)
--concurrency:該查詢的近似并發值
--ID:16進制,查詢語句的指紋,去掉了多余空格、和文本字符、轉換成小寫,使用--filter可以用來進行過濾(如:pt-query-digest mysql-slow.201407250000 --filter '$event->{fingerprint} && make_checksum($event->{fingerprint}) eq "0793E2F7F5EBE1B1"' > slow2.txt),必須移除0x
--at byte 289141:查詢語句在日志文件中的偏移量(byte offset),不一定精確,根據偏移量在日志文件中查找語句(如tail -c +289141 mysql-slow.201407250000 |head)
# This item is included in the report because it matches --limit.
# Scores: V/M = 0.00
# Time range: all events occurred at 2014-07-28 09:51:02
# Attribute??? pct?? total???? min???? max???? avg???? 95%? stddev? median
--95%:95th percentile,stddev:standard deviation
# ============ === ======= ======= ======= ======= ======= ======= =======
# Count???????? 20?????? 1
--pct在整個日志文件中,執行語句占用百分比(20%),總計執行了1次
# Exec time???? 31????? 3s????? 3s????? 3s????? 3s????? 3s?????? 0????? 3s
# Lock time???? 40??? 79us??? 79us??? 79us??? 79us??? 79us?????? 0??? 79us
# Rows sent???? 49???? 715???? 715???? 715???? 715???? 715?????? 0???? 715
# Rows examine? 13?? 2.09k?? 2.09k?? 2.09k?? 2.09k?? 2.09k?????? 0?? 2.09k
# Rows affecte?? 0?????? 0?????? 0?????? 0?????? 0?????? 0?????? 0?????? 0
# Bytes sent??? 45? 33.31k? 33.31k? 33.31k? 33.31k? 33.31k?????? 0? 33.31k
# Query size??? 42???? 342???? 342???? 342???? 342???? 342?????? 0???? 342
# String:
# Databases??? zabbix
--數據庫名
# Hosts
# Last errno?? 0
# Users??????? zabbix
--執行語句的用戶名
# Query_time distribution
--查詢的執行時間分布情況圖,可以使用選項--report-histogram進行定義
#?? 1us
#? 10us
# 100us
#?? 1ms
#? 10ms
# 100ms
#??? 1s? ################################################################
#? 10s+
# Tables
#??? SHOW TABLE STATUS FROM `zabbix` LIKE 'history_uint'\G
--可以使用該語句查詢表的統計信息,如大小
#??? SHOW CREATE TABLE `zabbix`.`history_uint`\G
--可以使用該語句查看表的結構信息
# EXPLAIN /*!50100 PARTITIONS*/
SELECT itemid,round(1401* MOD(CAST(clock AS UNSIGNED)+79742,86400)/(86400),0) AS i,COUNT(*) AS count,AVG(value) AS avg,MIN(value) AS min,MAX(value) AS max,MAX(clock) AS clock FROM history_uint? WHERE itemid='30376' AND clock>='1406425858' AND clock<='1406512258' GROUP BY itemid,round(1401* MOD(CAST(clock AS UNSIGNED)+79742,86400)/(86400),0)\G
--可以使用該語句查看查詢計劃,如非select語句,工具會轉換成類似的select語句,方便進行explain
參考:
總結
以上是生活随笔為你收集整理的mysql5.6 pt-query-digest,分析pt-query-digest输出信息的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: dockerfile php环境变量,d
- 下一篇: php读取txt插入数据库,PHP读取T