[root@hank-yoon log]# pt-query-digest slowq.log
# 200ms user time, 10ms system time, 24.39M rss, 205.12M vsz
# Current date: Thu Dec 17 15:32:04 2015
# Hostname: hank-yoon.com
# Files: slowq.log
# Overall: 8 total, 2 unique, 0.00 QPS, 0.00x concurrency ________________
# Time range: 2015-12-17 05:00:09 to 15:30:01
# Attribute total min max avg 95% stddev median
# ============ ======= ======= ======= ======= ======= ======= =======
# Exec time 15s 1s 7s 2s 7s 2s 1s
# Lock time 1ms 85us 251us 175us 247us 49us 194us
# Rows sent 213.24k 4 213.21k 26.65k 211.82k 70.05k 3.89
# Rows examine 2.40M 213.21k 320.55k 306.93k 312.96k 33.45k 312.96k
# Rows affecte 0 0 0 0 0 0 0
# Bytes sent 19.42M 1.44k 19.41M 2.43M 19.33M 6.39M 1.39k
# Query size 6.46k 768 836 827.50 833.10 25.62 833.10
1、Overall: 8 total 总共查询8条
2、2 unique: 唯一查询数量,对查询条件过滤后,总共有多少个不同的查询,一共有2个
3、Time range: 2015-12-17 05:00:09 to 15:30:01 时间范围,从几点开始到几点的查询
4、total:总计 min:最小 max:最大 avg:平均 95%:将所有值从小到大排列,位于95%的那个数
stddev:标准偏差 median:中位数,位置位于中间那个数
5、Exec time:执行时间
6、Lock time:锁时间
7、Rows sent:最后返回给客户端的行数,查询大小
8、Rows affecte:发送改变的行数
9、Rows examine:执行器需要检查的行数大小
10、Query size:查询语句的字符数
# Profile
# Rank Query ID Response time Calls R/Call V/M Item
# ==== ================== ============= ===== ====== ===== ===============
# 1 0x50EF20421A671146 7.4117 50.7% 7 1.0588 0.00 SELECT erp_order erp_order_option wms_order_sync jx_region
# 2 0x9B9DD48242D6C02D 7.2176 49.3% 1 7.2176 0.00 SELECT jx_erp_goods_ware
1、Rank:整个分析中语句排名,性能最差的
2、Response time:语句响应时间及整体占比情况
3、Calls:执行次数
4、R/Call:每次执行的平均响应时间
5、V/M:响应时间的差异平均对比率
# Query 1: 0.00 QPS, --QPS:每秒查询数
0.00x concurrency, --concurrency:该查询的近似并发值
ID 0x50EF20421A671146 --16进制查询的指纹,去掉了多余的空格和文本字符,转换成小写,使用--filter可以进行过滤
at byte 5592 --查询语句在日志文件中的偏移量,不一定精确,根据偏移量在日志文件中查询tail -c +5592 slowq.log |head
# This item is included in the report because it matches --limit.
# Scores: V/M = 0.00
# Time range: 2015-12-17 05:24:01 to 15:30:01
# Attribute pct total min max avg 95% stddev median
--PCT:指的是执行语句占概要报告中的百分比,占有87%,一共执行了7次
# ============ === ======= ======= ======= ======= ======= ======= =======
# Count 87 7
# Exec time 50 7s 1s 1s 1s 1s 35ms 1s
# Lock time 93 1ms 142us 251us 188us 247us 38us 185us
# Rows sent 0 28 4 4 4 4 0 4
# Rows examine 91 2.19M 320.15k 320.55k 320.32k 312.96k 0 312.96k
# Rows affecte 0 0 0 0 0 0 0 0
# Bytes sent 0 10.10k 1.44k 1.44k 1.44k 1.44k 0 1.44k
# Query size 88 5.71k 836 836 836 836 0 836
# String:
# Databases yoon --数据库名
# Hosts
# Last errno 0
# Users zhu_yoon --执行语句用户
# Query_time distribution
# 1us
# 10us
# 100us
# 1ms
# 10ms
# 100ms
# 1s ################################################################
# 10s+
# Tables
# SHOW TABLE STATUS FROM `yoon` LIKE 'erp_order'\G
# SHOW CREATE TABLE `yoon`.`erp_order`\G
# SHOW TABLE STATUS FROM `yoon` LIKE 'erp_order_option'\G
# SHOW CREATE TABLE `yoon`.`erp_order_option`\G
# SHOW TABLE STATUS FROM `yoon` LIKE 'wms_order_sync'\G
# SHOW CREATE TABLE `yoon`.`wms_order_sync`\G
# SHOW TABLE STATUS FROM `yoon` LIKE 'jx_region'\G
# SHOW CREATE TABLE `yoon`.`jx_region`\G
# EXPLAIN /*!50100 PARTITIONS*/
SELECT eo.pay_status,(CASE WHEN eo.order_amount >0 THEN (eo.order_amount- eo.platform_discount) ELSE eo.order_amount END) codValue,eo.invoice_no,eo.consignee realName,eo.tel phone,eo.mobile,eo.zipcode postCode,eoo.auto_weight totalWeight,eoo.packages totalNumber,
jrp.region_name province,jrc.region_name city,IFNULL(jrd.region_name,eo.district_name) county,eo.address address,eo.order_id OrderId
FROM erp_order eo
JOIN erp_order_option eoo ON eo.order_id=eoo.order_id
JOIN wms_order_sync wos ON wos.OrderId=eo.order_id
LEFT JOIN jx_region jrp ON jrp.region_id=eo.province_id
LEFT JOIN jx_region jrc ON jrc.region_id=eo.city_id
LEFT JOIN jx_region jrd ON jrd.region_id=eo.district_id WHERE wos.IsValid=0 AND wos.DealFlag=0
and eo.ware_id=5
AND eo.shipping_id=93
GROUP BY eo.order_id ORDER BY eoo.sendtime DESC LIMIT 20\G
(1)直接分析慢查询文件:
pt-query-digest slowq.log > slow_report.log
(2)分析最近12小时内的查询:
pt-query-digest --since=12h slowq.log > slow_report.log
(3)分析指定时间范围内的查询:
pt-query-digest slowq.log --since '2015-04-17 09:30:00' --until '2015-04-17 10:00:00'> > slow_report.log
(4)分析指含有select语句的慢查询
pt-query-digest--filter '$event->{fingerprint} =~ m/^select/i' slowq.log> slow_report.log
(5) 针对某个用户的慢查询
pt-query-digest--filter '($event->{user} || "") =~ m/^root/i' slowq.log> slow_report.log
(6) 查询所有所有的全表扫描或full join的慢查询
pt-query-digest--filter '(($event->{Full_scan} || "") eq "yes") ||(($event->{Full_join} || "") eq "yes")' slowq.log > slow_report.log
(7)把查询保存到query_review表
pt-query-digest --user=root --password=abc123 --review h=localhost,D=test,t=query_review--create-review-table slowq.log
(8)把查询保存到query_history表
pt-query-digest --user=root --password=abc123 --review h=localhost,D=test,t=query_ history--create-review-table slowq.log
pt-query-digest --user=root --password=abc123--review h=localhost,D=test,t=query_history--create-review-table slowq.log
(9)通过tcpdump抓取mysql的tcp协议数据,然后再分析
tcpdump -s 65535 -x -nn -q -tttt -i any -c 1000 port 3306 > mysql.txt
pt-query-digest --type tcpdump mysql.txt> slow_report.log
(10)分析binlog
mysqlbinlog mysql-bin.000077 > mysql-bin000077.sql
pt-query-digest --type=binlog mysql-bin000077.sql > slow_report.log
(11)分析general log
pt-query-digest --type=genlog localhost.log > slow_report.log
pt-query-digest分析mysql查询日志的更多相关文章
-
mysqldumpslow 分析slow query日志和explain分析mysql查询结构
mysqldumpslow的使用:比如我们要查询按时间返回前5条日志信息,格式如下:mysqldumpslow -s t -t 5 /var/log/mysql/slowquery_20180303. ...
-
python 分析慢查询日志生成报告
python分析Mysql慢查询.通过Python调用开源分析工具pt-query-digest生成json结果,Python脚本解析json生成html报告. #!/usr/bin/env pyth ...
-
0613pt-query-digest分析慢查询日志
转自http://www.jb51.net/article/107698.htm 这篇文章主要介绍了关于MySQL慢查询之pt-query-digest分析慢查询日志的相关资料,文中介绍的非常详细,对 ...
-
MySQL查询日志总结
MySQL查询日志介绍 MySQL的查询日志记录了所有MySQL数据库请求的信息.无论这些请求是否得到了正确的执行.默认文件名为hostname.log.默认情况下MySQL查询日志是关闭的.生产环境 ...
-
MySQL查询日志介绍
MySQL查询日志介绍 MySQL的查询日志记录了所有MySQL数据库请求的信息.无论这些请求是否得到了正确的执行.默认文件名为hostname.log.默认情况下MySQL查询日志是关闭的.生产环境 ...
-
Mysql系列(十一)—— 性能分析慢查询日志
转载自:http://www.cnblogs.com/kerrycode/p/5593204.html 慢查询日志概念 MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响 ...
-
详细分析MySQL的日志(一)
官方手册:https://dev.mysql.com/doc/refman/5.7/en/server-logs.html 不管是哪个数据库产品,一定会有日志文件.在MariaDB/MySQL中,主要 ...
-
pt-query-digest怎么分析慢查询日志分析数据
在进行使用linux系统作为服务器的情况,那几需要进行对linux的服务器进行性能上数据进行抓取之后,就需要对数据中内容进行分析,看数据库中内容是否存在瓶颈上的问题,在进行获取到的数据的慢查日志,将使 ...
-
详细分析MySQL事务日志(redo log和undo log)
innodb事务日志包括redo log和undo log.redo log是重做日志,提供前滚操作,undo log是回滚日志,提供回滚操作. undo log不是redo log的逆向过程,其实它 ...
随机推荐
-
Web前端开发工程师面试题
Web前端开发工程师面试题1.说说css的优先级?2.在移动端中,常常使用tap作为点击事件,好处是?会带来什么问题?3.原生JS的window,onload与Jquery的$(document).r ...
-
EF 增删改查
StudentEntities entities = new StudentEntities(); //初始化对象 Register register = new Register(); #regio ...
-
WIN7 X64 解决无法安装IE11,以及无法点击微软升级包MSU的问题
一般在官方下载的文件是MSU格式的后缀文件,这个文件属于系统升级包补丁:下载完毕之后直接点击安装会报错,错误提示如下:安装程序遇到错误:0x80070422 无法启动服务,原因可能是已被禁用或与其相关 ...
-
【WinForm】C# 采用POST登录京东
C# POST 传值登录 京东 想做一个DEMO 练练html的传值和接收,就用Winform 做了一个登录京东的程序. 首先参考的网址是: 艹蛋的青春じ 让我蛋疼ミ:http://www.cnblo ...
-
C# Json数据反序列化为Dictionary并根据关键字获取指定值1
Json数据: { "dataSet": { "header": { "returnCode": "0", " ...
-
Freemarker 对null值报错的处理
忽略null值 假设前提:user.name为null ${user.name},异常 ${user.name!},显示空白 ${user.name!'vakin'},若user.name不为空则显示 ...
-
Redmine backlogs 安装
之前我们一直用IceScrum的免费版本来运作Scrum项目,用GitLab来做做Issue管理,但是出现了一些问题.GitLab的issue不够好用,不能满足我们的需求,同时issue没有办法放在S ...
-
BZOJ 3881: [Coci2015]Divljak [AC自动机 树链的并]
3881: [Coci2015]Divljak 题意:添加新文本串,询问某个模式串在多少种文本串里出现过 模式串建AC自动机,考虑添加一个文本串,走到的节点记录下来求树链的并 方法是按dfs序排序去重 ...
-
java内部类(转)
转自:http://www.cnblogs.com/nerxious/archive/2013/01/24/2875649.html 内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类 ...
-
cookie的域,路径
Cookie 的路径以及 Cookie 域 cookie 路径 cookie 一般都是由于用户访问页面而被创建的,可是并不是只有在创建 cookie 的页面才可以访问这个cookie.在默认情况下,出 ...