MySQL Slow Log慢日志分析【转】
如果你的MySQL出现了性能问题,第一个需要“诊断”的就是slow log(慢日志)了。
slow log文件很小,使用more less等命令就足够了。如果slow log很大怎么办?这里介绍MySQL自带的工具mysqldumpslow来帮你解析慢日志(也可以跳过本文,直接阅读Manual)。
1. 基本使用
$more slow.dat
输出的数据:
SELECT /*!N SQL_NO_CACHE */ * FROM `feed_receive_0287`
这里我们能够获得:这条语句在满日志中的出现次数、平均执行时间、总共执行时间、row send等。例如:SELECT /*!N SQL_NO_CACHE */ * FROM `feed_receive_0287`一共执行了3次,平均每次使用62秒。
在默认情况下,mysqlslowdump的输出结果会使用N和S代替SQL中出现的数字和字符串。例如:如下慢日志
会被mysqlslowdump抽象为:
如果想禁用这种抽象,可以使用-a参数
2. 排序参数
mysqlslowdump默认输出结果是按照count(SQL出现的次数)排序的。可以通过如下的参数控制:
| -s t | 按总query time排序 | -s at | 按平均query time排序 |
| -s l | 按总locktime排序 | -s al | 按平均lock time排序 |
| -s s | 按总row send排序 | -s as | 按平均row send排序 |
| -s c | 按count排序 | -- | -- |
例如:
3. 其他参数
| -r | 倒着排序 |
| -a | 不要将数字和字符串抽象成N和S |
| -g | 仅仅分析相匹配的query |
4. 常用命令
由上面的常用参数就可以组合出如下的常用命令:
mysqldumpslow -s at slow.log.old > slow.2.dat #按照平均query time排序查看日志
mysqldumpslow -a -s at slow.log.old > slow.3.dat #按照平均query time排序并且不抽象数字的方式排序
mysqldumpslow -a -s c slow.log.old > slow.4.dat #安装执行次数排序
MySQL Slow Log慢日志分析【转】的更多相关文章
- mysql slow log分析工具的比较
mysql 中的 slow log 是用来记录执行时间较长(超过 long_query_time 秒)的 sql 的一种日志工具. 启用 slow log 在 my.cnf 中设置 [mysqld] ...
- MySQL 数据库慢查询日志分析脚本
这个脚本是基于pt-query-digest做的日志分析脚本,变成可视化的格式. 目录结构是 ./mysql_data/log./mysql_data/log/tmp./slow_query # co ...
- Slow ReadProcessor&Error Slow BlockReceiver错误日志分析(转)
1.总结 "Slow ReadProcessor" 和"Slow BlockReceiver"往往是因为集群负载比较高或者某些节点不健康导致的,本文主要是帮助你 ...
- MySQL之慢查询日志分析
在MySQL命令行中查看慢查询日志是否打开了: mysql> show variables like '%slow_query%'; +---------------------------+- ...
- (转)SLOW READPROCESSOR;ERROR SLOW BLOCKRECEIVER错误日志分析
1.总结 "Slow ReadProcessor" 和"Slow BlockReceiver"往往是因为集群负载比较高或者某些节点不健康导致的,本文主要是帮助你 ...
- mysql使用慢查询日志分析数据执行情况
#查询慢查询日志文件路径show variables like '%slow_query%';#开启慢查询日志 ; #设置慢查询阀值为0,将所有的语句都记入慢查询日志 ;#未使用索引的查询也被记录到慢 ...
- logstash 解析mysql slow log
# User@Host: zjzc_app[zjzc_app] @ [10.252.148.16xx] Id: 6043127 # Query_time: 2.581184 Lock_time: 0. ...
- Mysq性能分析 —— Genral log(普通日志)与 Slow log(慢速日式)
对Mysql进行深入的分析对于发现mysql性能瓶颈和寻找优化策略是十分必要的. 我们可以从不同的粒度上对Mysql进行分析:可以整体分析服务器,或者检查单个查询或批查询.通过分析,我们得到的如下信息 ...
- MySQL慢查询日志分析
一:查询slow log的状态,如示例代码所示,则slow log已经开启. mysql> show variables like '%slow%'; +-------------------- ...
随机推荐
- Unity3D_最简单的开始界面_结束界面
开始界面1.创建一个新的场景添加button 2.C#脚本LoadingGame.cs using System.Collections;using System.Collections.Generi ...
- docker的网络配置
Docker的4种网络模式 我们在使用docker run创建Docker容器时,可以用–net选项指定容器的网络模式,Docker有以下4种网络模式: host模式:使用–net=host指定. c ...
- Jquery中children与find之间的区别
<table id="tb"> <tr> <td>0</td> <td>1</td> <td>2 ...
- 筛选法 || POJ 1356 Prime Land
英文题读不懂题==质数幂的形式给你一个数 把它减一再用质数幂的形式表示出来 *解法:质数从小到大模拟除一遍,输入有点别扭 #include <iostream> #include < ...
- OpenCV2:第四章 导出图像
一.简介 一般我们用OpenCV来处理图像数据的时候,OpenCV已经把图像数据包装成一个图像数据类,我们只需要对类成员的像素值进行修改就行了. 但是在Windows开发的WinSDK/MFC中,对图 ...
- 使用 隧道技术 使用http代理连接 svn:// git://
问题点 在某些情况下 无法通过代理 用 svn 访问svn://协议例如(svn://www.qdac.cc ) 故此有了此贴 远端需要一个代理 服务器 connect-tunnel -P 代理 ...
- ajax从入门到深入精通
前言 ajax全称Asynchronous Javascript and XML.其中Asynchronous代表异步.同步于异步是描述通信模式的概念,同步机制:发送方发生请求后,需要等待接收到接收方 ...
- 读懂CommonJS的模块加载
叨叨一会CommonJS Common这个英文单词的意思,相信大家都认识,我记得有一个词组common knowledge是常识的意思,那么CommonJS是不是也是类似于常识性的,大家都理解的意思呢 ...
- Linux下安装Redis5.0.2
1.下载redis 地址 http://download.redis.io/releases/redis-5.0.2.tar.gz 2.解压tar -zxf redis-5.0.2.tar.gz 3. ...
- 项目中遇到的超卖问题及解决办法(使用go做测试工具)
超卖问题:在一个很短的时间内,Mysql的数据状态在 取出,比较,提交,或修改中,另外一个进程访问数据导致的超卖问题. 案例: 1.前端没有做限制,如果用户连续点击签到,那么会有多条数据发送到后端,如 ...