SlideShare uma empresa Scribd logo
1 de 7
Baixar para ler offline
五款常用 mysql slow log 分析工具的比较


mysql slow log 是用来记录执行时间较长(超过 long_query_time 秒)的 sql 的一种日志工具.

启用 slow log

有两种启用方式:
1, 在 my.cnf 里 通过 log-slow-queries[=file_name]
2, 在 mysqld 进程启动时,指定--log-slow-queries[=file_name]选项

比较的五款常用工具

mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter


mysqldumpslow, mysql 官方提供的慢查询日志分析工具. 输出图表如下:
主要功能是, 统计不同慢 sql 的
出现次数(Count),
执行最长时间(Time),
累计总耗费时间(Time),
等待锁的时间(Lock),
发送给客户端的行总数(Rows),
扫描的行总数(Rows),
用户以及 sql 语句本身(抽象了一下格式, 比如 limit 1, 20 用 limit N,N 表示).

mysqlsla, hackmysql.com 推出的一款日志分析工具(该网站还维护了 mysqlreport, mysqlidxchk 等比较实用的 mysql 工具)
整体来说, 功能非常强大. 数据报表,非常有利于分析慢查询的原因, 包括执行频率, 数据量, 查询消耗等.

格式说明如下:
总查询次数 (queries total), 去重后的 sql 数量 (unique)
输出报表的内容排序(sorted by)
最重大的慢 sql 统计信息, 包括 平均执行时间, 等待锁时间, 结果行的总数, 扫描的行总数.

Count, sql 的执行次数及占总的 slow log 数量的百分比.
Time, 执行时间, 包括总时间, 平均时间, 最小, 最大时间, 时间占到总慢 sql 时间的百分比.
95% of Time, 去除最快和最慢的 sql, 覆盖率占 95%的 sql 的执行时间.
Lock Time, 等待锁的时间.
95% of Lock , 95%的慢 sql 等待锁时间.
Rows sent, 结果行统计数量, 包括平均, 最小, 最大数量.
Rows examined, 扫描的行数量.
Database, 属于哪个数据库
Users, 哪个用户,IP, 占到所有用户执行的 sql 百分比

Query abstract, 抽象后的 sql 语句
Query sample, sql 语句

除了以上的输出, 官方还提供了很多定制化参数, 是一款不可多得的好工具.

mysql-explain-slow-log, 德国人写的一个perl脚本.
http://www.willamowius.de/mysql-tools.html
http://www.bt285.cn/content.php?id=1196863
功能上有点瑕疵, 不仅把所有的 slow log 打印到屏幕上, 而且统计也只有数量而已. 不推荐使用.
mysql-log-filter, google code上找到的一个分析工具.提供了 python 和 php 两种可执行的脚本.
http://code.google.com/p/mysql-log-filter/




功能上比官方的 mysqldumpslow, 多了查询时间的统计信息(平均,最大, 累计), 其他功能都与 mysqldumpslow 类似.
特色功能除了统计信息外, 还针对输出内容做了排版和格式化, 保证整体输出的简洁. 喜欢简洁报表的朋友, 推荐使用一下.
myprofi, 纯php写的一个开源分析工具.项目在 sourceforge 上.
http://myprofi.sourceforge.net/




功能上, 列出了总的慢查询次数和类型, 去重后的 sql 语句, 执行次数及其占总的 slow log 数量的百分比.
从整体输出样式来看, 比 mysql-log-filter 还要简洁. 省去了很多不必要的内容. 对于只想看 sql 语句及执行次数的用户来说, 比较
推荐.

总结

工具/功能                一般统计信息       高级统计信息     脚本             优势
mysqldumpslow        支持           不支持        perl           mysql 官方自带
                                                            功能强大,数据报表齐全,
mysqlsla             支持           支持         perl
                                                            定制化能力强.
mysql-explain-slow-log 支持         不支持        perl           无
不失功能的前提下,保持
mysql-log-filter   支持   部分支持   python or php
                                               输出简洁
myprofi            支持   不支持    php             非常精简

Mais conteúdo relacionado

Mais procurados

Mysql展示功能与源码对应
Mysql展示功能与源码对应Mysql展示功能与源码对应
Mysql展示功能与源码对应zhaolinjnu
 
MySQL基础技能与原理——基本原理
MySQL基础技能与原理——基本原理MySQL基础技能与原理——基本原理
MySQL基础技能与原理——基本原理Michael Zhang
 
Nginx共享内存
Nginx共享内存Nginx共享内存
Nginx共享内存Lucien Li
 
Introduction to MySQL and phpMyAdmin
Introduction to MySQL and phpMyAdminIntroduction to MySQL and phpMyAdmin
Introduction to MySQL and phpMyAdminDrake Huang
 
MySQL源码分析.02.Handler API
MySQL源码分析.02.Handler APIMySQL源码分析.02.Handler API
MySQL源码分析.02.Handler APILixun Peng
 
基于OpenResty的百万级长连接推送
基于OpenResty的百万级长连接推送基于OpenResty的百万级长连接推送
基于OpenResty的百万级长连接推送OpenRestyCon
 
MySQL基础技能与原理——高级应用
MySQL基础技能与原理——高级应用MySQL基础技能与原理——高级应用
MySQL基础技能与原理——高级应用Michael Zhang
 
Mysql proxy cluster
Mysql proxy clusterMysql proxy cluster
Mysql proxy clusterYiwei Ma
 
My sql 同步
My sql 同步My sql 同步
My sql 同步Yiwei Ma
 
高性能并发Web服务器实现核心内幕
高性能并发Web服务器实现核心内幕高性能并发Web服务器实现核心内幕
高性能并发Web服务器实现核心内幕ideawu
 
MySQL Replication新功能介绍
MySQL Replication新功能介绍 MySQL Replication新功能介绍
MySQL Replication新功能介绍 orczhou
 
Php及drupal性能优化系列(二)
Php及drupal性能优化系列(二)Php及drupal性能优化系列(二)
Php及drupal性能优化系列(二)Robbin Zhao
 
Apache+php+mysql在Linux下的安装与配置
Apache+php+mysql在Linux下的安装与配置Apache+php+mysql在Linux下的安装与配置
Apache+php+mysql在Linux下的安装与配置wensheng wei
 
lua & ngx_lua 的介绍与应用
lua & ngx_lua 的介绍与应用lua & ngx_lua 的介绍与应用
lua & ngx_lua 的介绍与应用hugo
 
第一讲 My sql初步
第一讲 My sql初步第一讲 My sql初步
第一讲 My sql初步hjl888666
 
Lamp优化实践
Lamp优化实践Lamp优化实践
Lamp优化实践zhliji2
 
MySQL源码分析.01.代码结构与基本流程
MySQL源码分析.01.代码结构与基本流程MySQL源码分析.01.代码结构与基本流程
MySQL源码分析.01.代码结构与基本流程Lixun Peng
 

Mais procurados (20)

运维自动化
运维自动化运维自动化
运维自动化
 
Mysql展示功能与源码对应
Mysql展示功能与源码对应Mysql展示功能与源码对应
Mysql展示功能与源码对应
 
MySQL基础技能与原理——基本原理
MySQL基础技能与原理——基本原理MySQL基础技能与原理——基本原理
MySQL基础技能与原理——基本原理
 
Nginx共享内存
Nginx共享内存Nginx共享内存
Nginx共享内存
 
Introduction to MySQL and phpMyAdmin
Introduction to MySQL and phpMyAdminIntroduction to MySQL and phpMyAdmin
Introduction to MySQL and phpMyAdmin
 
MySQL源码分析.02.Handler API
MySQL源码分析.02.Handler APIMySQL源码分析.02.Handler API
MySQL源码分析.02.Handler API
 
基于OpenResty的百万级长连接推送
基于OpenResty的百万级长连接推送基于OpenResty的百万级长连接推送
基于OpenResty的百万级长连接推送
 
MySQL aio
MySQL aioMySQL aio
MySQL aio
 
MySQL基础技能与原理——高级应用
MySQL基础技能与原理——高级应用MySQL基础技能与原理——高级应用
MySQL基础技能与原理——高级应用
 
Mysql proxy cluster
Mysql proxy clusterMysql proxy cluster
Mysql proxy cluster
 
Mysql Replication
Mysql ReplicationMysql Replication
Mysql Replication
 
My sql 同步
My sql 同步My sql 同步
My sql 同步
 
高性能并发Web服务器实现核心内幕
高性能并发Web服务器实现核心内幕高性能并发Web服务器实现核心内幕
高性能并发Web服务器实现核心内幕
 
MySQL Replication新功能介绍
MySQL Replication新功能介绍 MySQL Replication新功能介绍
MySQL Replication新功能介绍
 
Php及drupal性能优化系列(二)
Php及drupal性能优化系列(二)Php及drupal性能优化系列(二)
Php及drupal性能优化系列(二)
 
Apache+php+mysql在Linux下的安装与配置
Apache+php+mysql在Linux下的安装与配置Apache+php+mysql在Linux下的安装与配置
Apache+php+mysql在Linux下的安装与配置
 
lua & ngx_lua 的介绍与应用
lua & ngx_lua 的介绍与应用lua & ngx_lua 的介绍与应用
lua & ngx_lua 的介绍与应用
 
第一讲 My sql初步
第一讲 My sql初步第一讲 My sql初步
第一讲 My sql初步
 
Lamp优化实践
Lamp优化实践Lamp优化实践
Lamp优化实践
 
MySQL源码分析.01.代码结构与基本流程
MySQL源码分析.01.代码结构与基本流程MySQL源码分析.01.代码结构与基本流程
MySQL源码分析.01.代码结构与基本流程
 

Destaque

Foro regional curriculum, mayo 2007
Foro regional curriculum, mayo 2007Foro regional curriculum, mayo 2007
Foro regional curriculum, mayo 2007bustoslucia
 
Nicolae_DUTA_CV.doc
Nicolae_DUTA_CV.docNicolae_DUTA_CV.doc
Nicolae_DUTA_CV.docbutest
 
使用Google快讯跟踪信息
使用Google快讯跟踪信息使用Google快讯跟踪信息
使用Google快讯跟踪信息Kevin cheng
 
Vigneshwara aquarius cyber park 9953956449
Vigneshwara aquarius  cyber park 9953956449Vigneshwara aquarius  cyber park 9953956449
Vigneshwara aquarius cyber park 9953956449ravikrmchomes
 
Colegio nacional nicolas_esguerra[1]
Colegio nacional nicolas_esguerra[1]Colegio nacional nicolas_esguerra[1]
Colegio nacional nicolas_esguerra[1]homero simson
 
Personal Electronics: Shortening our Attention Spans?
Personal Electronics: Shortening our Attention Spans?Personal Electronics: Shortening our Attention Spans?
Personal Electronics: Shortening our Attention Spans?zackls
 

Destaque (10)

Foro regional curriculum, mayo 2007
Foro regional curriculum, mayo 2007Foro regional curriculum, mayo 2007
Foro regional curriculum, mayo 2007
 
sports portfolio
sports portfoliosports portfolio
sports portfolio
 
Op11cast comp
Op11cast compOp11cast comp
Op11cast comp
 
Nicolae_DUTA_CV.doc
Nicolae_DUTA_CV.docNicolae_DUTA_CV.doc
Nicolae_DUTA_CV.doc
 
使用Google快讯跟踪信息
使用Google快讯跟踪信息使用Google快讯跟踪信息
使用Google快讯跟踪信息
 
Mta 0311 final
Mta 0311 finalMta 0311 final
Mta 0311 final
 
Vigneshwara aquarius cyber park 9953956449
Vigneshwara aquarius  cyber park 9953956449Vigneshwara aquarius  cyber park 9953956449
Vigneshwara aquarius cyber park 9953956449
 
Colegio nacional nicolas_esguerra[1]
Colegio nacional nicolas_esguerra[1]Colegio nacional nicolas_esguerra[1]
Colegio nacional nicolas_esguerra[1]
 
Estil crol
Estil crolEstil crol
Estil crol
 
Personal Electronics: Shortening our Attention Spans?
Personal Electronics: Shortening our Attention Spans?Personal Electronics: Shortening our Attention Spans?
Personal Electronics: Shortening our Attention Spans?
 

Semelhante a 五款常用mysql slow log分析工具的比较

2011 06-12-lamp-mysql-顾春江
2011 06-12-lamp-mysql-顾春江2011 06-12-lamp-mysql-顾春江
2011 06-12-lamp-mysql-顾春江thinkinlamp
 
2011 06-12-lamp-mysql
2011 06-12-lamp-mysql2011 06-12-lamp-mysql
2011 06-12-lamp-mysqlpwesh
 
MySQL5.6&5.7 Cluster 7.3 Review
MySQL5.6&5.7 Cluster 7.3 ReviewMySQL5.6&5.7 Cluster 7.3 Review
MySQL5.6&5.7 Cluster 7.3 Review郁萍 王
 
開發環境建置
開發環境建置開發環境建置
開發環境建置Shengyou Fan
 
Raising The MySQL Bar-Manyi Lu
Raising The MySQL Bar-Manyi LuRaising The MySQL Bar-Manyi Lu
Raising The MySQL Bar-Manyi Lu郁萍 王
 
浅谈 My sql 性能调优
浅谈 My sql 性能调优浅谈 My sql 性能调优
浅谈 My sql 性能调优thinkinlamp
 
MySQL应用优化实践
MySQL应用优化实践MySQL应用优化实践
MySQL应用优化实践mysqlops
 
8, lamp
8, lamp8, lamp
8, lampted-xu
 
优酷 Web网站架构案例分析
优酷   Web网站架构案例分析优酷   Web网站架构案例分析
优酷 Web网站架构案例分析George Ang
 
Key value store
Key value storeKey value store
Key value storexuanhan863
 
Youku arch qcon2009_beijing
Youku arch qcon2009_beijingYouku arch qcon2009_beijing
Youku arch qcon2009_beijingdrewz lin
 
Mysql 培训-优化篇
Mysql 培训-优化篇Mysql 培训-优化篇
Mysql 培训-优化篇sunmonth
 
Postgre sql intro 0
Postgre sql intro 0Postgre sql intro 0
Postgre sql intro 0March Liu
 
Mysql handlersocket
Mysql handlersocketMysql handlersocket
Mysql handlersocketpwesh
 
Hacking Nginx at Taobao
Hacking Nginx at TaobaoHacking Nginx at Taobao
Hacking Nginx at TaobaoJoshua Zhu
 
高性能LAMP程序设计
高性能LAMP程序设计高性能LAMP程序设计
高性能LAMP程序设计fuchaoqun
 
Oraliux+mysql5单机多实例安装文档
Oraliux+mysql5单机多实例安装文档Oraliux+mysql5单机多实例安装文档
Oraliux+mysql5单机多实例安装文档xuebao_zx
 
Nosql三步曲
Nosql三步曲Nosql三步曲
Nosql三步曲84zhu
 
山頂洞人日記 - 回歸到最純樸的開發
山頂洞人日記 -  回歸到最純樸的開發山頂洞人日記 -  回歸到最純樸的開發
山頂洞人日記 - 回歸到最純樸的開發koji lin
 

Semelhante a 五款常用mysql slow log分析工具的比较 (20)

2011 06-12-lamp-mysql-顾春江
2011 06-12-lamp-mysql-顾春江2011 06-12-lamp-mysql-顾春江
2011 06-12-lamp-mysql-顾春江
 
2011 06-12-lamp-mysql
2011 06-12-lamp-mysql2011 06-12-lamp-mysql
2011 06-12-lamp-mysql
 
MySQL5.6&5.7 Cluster 7.3 Review
MySQL5.6&5.7 Cluster 7.3 ReviewMySQL5.6&5.7 Cluster 7.3 Review
MySQL5.6&5.7 Cluster 7.3 Review
 
開發環境建置
開發環境建置開發環境建置
開發環境建置
 
Raising The MySQL Bar-Manyi Lu
Raising The MySQL Bar-Manyi LuRaising The MySQL Bar-Manyi Lu
Raising The MySQL Bar-Manyi Lu
 
浅谈 My sql 性能调优
浅谈 My sql 性能调优浅谈 My sql 性能调优
浅谈 My sql 性能调优
 
MySQL应用优化实践
MySQL应用优化实践MySQL应用优化实践
MySQL应用优化实践
 
8, lamp
8, lamp8, lamp
8, lamp
 
优酷 Web网站架构案例分析
优酷   Web网站架构案例分析优酷   Web网站架构案例分析
优酷 Web网站架构案例分析
 
Key value store
Key value storeKey value store
Key value store
 
Youku arch qcon2009_beijing
Youku arch qcon2009_beijingYouku arch qcon2009_beijing
Youku arch qcon2009_beijing
 
Mysql 培训-优化篇
Mysql 培训-优化篇Mysql 培训-优化篇
Mysql 培训-优化篇
 
Postgre sql intro 0
Postgre sql intro 0Postgre sql intro 0
Postgre sql intro 0
 
Mysql handlersocket
Mysql handlersocketMysql handlersocket
Mysql handlersocket
 
Hacking Nginx at Taobao
Hacking Nginx at TaobaoHacking Nginx at Taobao
Hacking Nginx at Taobao
 
高性能LAMP程序设计
高性能LAMP程序设计高性能LAMP程序设计
高性能LAMP程序设计
 
Oraliux+mysql5单机多实例安装文档
Oraliux+mysql5单机多实例安装文档Oraliux+mysql5单机多实例安装文档
Oraliux+mysql5单机多实例安装文档
 
Cdc@ganji.com
Cdc@ganji.comCdc@ganji.com
Cdc@ganji.com
 
Nosql三步曲
Nosql三步曲Nosql三步曲
Nosql三步曲
 
山頂洞人日記 - 回歸到最純樸的開發
山頂洞人日記 -  回歸到最純樸的開發山頂洞人日記 -  回歸到最純樸的開發
山頂洞人日記 - 回歸到最純樸的開發
 

Mais de colderboy17

linux安装以及LAMP 环境安装详细
linux安装以及LAMP 环境安装详细linux安装以及LAMP 环境安装详细
linux安装以及LAMP 环境安装详细colderboy17
 
Sery lvs+keepalived
Sery lvs+keepalivedSery lvs+keepalived
Sery lvs+keepalivedcolderboy17
 
Lvs手册中文加目录版
Lvs手册中文加目录版Lvs手册中文加目录版
Lvs手册中文加目录版colderboy17
 
My sql procedure
My sql procedureMy sql procedure
My sql procedurecolderboy17
 
Mysqlexplain 执行计划解读
Mysqlexplain 执行计划解读Mysqlexplain 执行计划解读
Mysqlexplain 执行计划解读colderboy17
 
新浪 李晓栋 非商业网络设备的新浪应用之路
新浪 李晓栋 非商业网络设备的新浪应用之路新浪 李晓栋 非商业网络设备的新浪应用之路
新浪 李晓栋 非商业网络设备的新浪应用之路colderboy17
 
网易 王磊 网易海量数据存储平台的构建和运维
网易 王磊 网易海量数据存储平台的构建和运维网易 王磊 网易海量数据存储平台的构建和运维
网易 王磊 网易海量数据存储平台的构建和运维colderboy17
 
网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维colderboy17
 
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验colderboy17
 
淘宝 任卿 打造高效能的Cdn系统
淘宝 任卿 打造高效能的Cdn系统淘宝 任卿 打造高效能的Cdn系统
淘宝 任卿 打造高效能的Cdn系统colderboy17
 
搜狐畅游 叶金荣 游戏数据库运维经验分享
搜狐畅游 叶金荣 游戏数据库运维经验分享搜狐畅游 叶金荣 游戏数据库运维经验分享
搜狐畅游 叶金荣 游戏数据库运维经验分享colderboy17
 
搜狐 窦喆 Sohu-sagent
搜狐 窦喆 Sohu-sagent搜狐 窦喆 Sohu-sagent
搜狐 窦喆 Sohu-sagentcolderboy17
 
神州数码 Jason pan future_clouddatacenterv2
神州数码 Jason pan future_clouddatacenterv2神州数码 Jason pan future_clouddatacenterv2
神州数码 Jason pan future_clouddatacenterv2colderboy17
 
华为 余洲 定制化服务器
华为 余洲 定制化服务器华为 余洲 定制化服务器
华为 余洲 定制化服务器colderboy17
 
互联网运维大会 刘洋-2011-jul 1
互联网运维大会 刘洋-2011-jul 1互联网运维大会 刘洋-2011-jul 1
互联网运维大会 刘洋-2011-jul 1colderboy17
 
新浪 杨海朝 Redis运维之道
新浪 杨海朝 Redis运维之道新浪 杨海朝 Redis运维之道
新浪 杨海朝 Redis运维之道colderboy17
 
阿里巴巴 肖劲青 阿里巴巴运维自动化的探索与规划
阿里巴巴 肖劲青 阿里巴巴运维自动化的探索与规划阿里巴巴 肖劲青 阿里巴巴运维自动化的探索与规划
阿里巴巴 肖劲青 阿里巴巴运维自动化的探索与规划colderboy17
 
阿里巴巴 林钰 网站存储经验谈
阿里巴巴 林钰 网站存储经验谈阿里巴巴 林钰 网站存储经验谈
阿里巴巴 林钰 网站存储经验谈colderboy17
 

Mais de colderboy17 (20)

MySQL SQL规范
MySQL SQL规范MySQL SQL规范
MySQL SQL规范
 
Redis
RedisRedis
Redis
 
linux安装以及LAMP 环境安装详细
linux安装以及LAMP 环境安装详细linux安装以及LAMP 环境安装详细
linux安装以及LAMP 环境安装详细
 
Sery lvs+keepalived
Sery lvs+keepalivedSery lvs+keepalived
Sery lvs+keepalived
 
Lvs手册中文加目录版
Lvs手册中文加目录版Lvs手册中文加目录版
Lvs手册中文加目录版
 
My sql procedure
My sql procedureMy sql procedure
My sql procedure
 
Mysqlexplain 执行计划解读
Mysqlexplain 执行计划解读Mysqlexplain 执行计划解读
Mysqlexplain 执行计划解读
 
新浪 李晓栋 非商业网络设备的新浪应用之路
新浪 李晓栋 非商业网络设备的新浪应用之路新浪 李晓栋 非商业网络设备的新浪应用之路
新浪 李晓栋 非商业网络设备的新浪应用之路
 
网易 王磊 网易海量数据存储平台的构建和运维
网易 王磊 网易海量数据存储平台的构建和运维网易 王磊 网易海量数据存储平台的构建和运维
网易 王磊 网易海量数据存储平台的构建和运维
 
网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维网易 李弈远 网易服务集成框架的构建与运维
网易 李弈远 网易服务集成框架的构建与运维
 
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
 
淘宝 任卿 打造高效能的Cdn系统
淘宝 任卿 打造高效能的Cdn系统淘宝 任卿 打造高效能的Cdn系统
淘宝 任卿 打造高效能的Cdn系统
 
搜狐畅游 叶金荣 游戏数据库运维经验分享
搜狐畅游 叶金荣 游戏数据库运维经验分享搜狐畅游 叶金荣 游戏数据库运维经验分享
搜狐畅游 叶金荣 游戏数据库运维经验分享
 
搜狐 窦喆 Sohu-sagent
搜狐 窦喆 Sohu-sagent搜狐 窦喆 Sohu-sagent
搜狐 窦喆 Sohu-sagent
 
神州数码 Jason pan future_clouddatacenterv2
神州数码 Jason pan future_clouddatacenterv2神州数码 Jason pan future_clouddatacenterv2
神州数码 Jason pan future_clouddatacenterv2
 
华为 余洲 定制化服务器
华为 余洲 定制化服务器华为 余洲 定制化服务器
华为 余洲 定制化服务器
 
互联网运维大会 刘洋-2011-jul 1
互联网运维大会 刘洋-2011-jul 1互联网运维大会 刘洋-2011-jul 1
互联网运维大会 刘洋-2011-jul 1
 
新浪 杨海朝 Redis运维之道
新浪 杨海朝 Redis运维之道新浪 杨海朝 Redis运维之道
新浪 杨海朝 Redis运维之道
 
阿里巴巴 肖劲青 阿里巴巴运维自动化的探索与规划
阿里巴巴 肖劲青 阿里巴巴运维自动化的探索与规划阿里巴巴 肖劲青 阿里巴巴运维自动化的探索与规划
阿里巴巴 肖劲青 阿里巴巴运维自动化的探索与规划
 
阿里巴巴 林钰 网站存储经验谈
阿里巴巴 林钰 网站存储经验谈阿里巴巴 林钰 网站存储经验谈
阿里巴巴 林钰 网站存储经验谈
 

五款常用mysql slow log分析工具的比较

  • 1. 五款常用 mysql slow log 分析工具的比较 mysql slow log 是用来记录执行时间较长(超过 long_query_time 秒)的 sql 的一种日志工具. 启用 slow log 有两种启用方式: 1, 在 my.cnf 里 通过 log-slow-queries[=file_name] 2, 在 mysqld 进程启动时,指定--log-slow-queries[=file_name]选项 比较的五款常用工具 mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter mysqldumpslow, mysql 官方提供的慢查询日志分析工具. 输出图表如下:
  • 2. 主要功能是, 统计不同慢 sql 的 出现次数(Count), 执行最长时间(Time), 累计总耗费时间(Time), 等待锁的时间(Lock), 发送给客户端的行总数(Rows), 扫描的行总数(Rows), 用户以及 sql 语句本身(抽象了一下格式, 比如 limit 1, 20 用 limit N,N 表示). mysqlsla, hackmysql.com 推出的一款日志分析工具(该网站还维护了 mysqlreport, mysqlidxchk 等比较实用的 mysql 工具)
  • 3. 整体来说, 功能非常强大. 数据报表,非常有利于分析慢查询的原因, 包括执行频率, 数据量, 查询消耗等. 格式说明如下: 总查询次数 (queries total), 去重后的 sql 数量 (unique) 输出报表的内容排序(sorted by) 最重大的慢 sql 统计信息, 包括 平均执行时间, 等待锁时间, 结果行的总数, 扫描的行总数. Count, sql 的执行次数及占总的 slow log 数量的百分比. Time, 执行时间, 包括总时间, 平均时间, 最小, 最大时间, 时间占到总慢 sql 时间的百分比.
  • 4. 95% of Time, 去除最快和最慢的 sql, 覆盖率占 95%的 sql 的执行时间. Lock Time, 等待锁的时间. 95% of Lock , 95%的慢 sql 等待锁时间. Rows sent, 结果行统计数量, 包括平均, 最小, 最大数量. Rows examined, 扫描的行数量. Database, 属于哪个数据库 Users, 哪个用户,IP, 占到所有用户执行的 sql 百分比 Query abstract, 抽象后的 sql 语句 Query sample, sql 语句 除了以上的输出, 官方还提供了很多定制化参数, 是一款不可多得的好工具. mysql-explain-slow-log, 德国人写的一个perl脚本. http://www.willamowius.de/mysql-tools.html http://www.bt285.cn/content.php?id=1196863
  • 5. 功能上有点瑕疵, 不仅把所有的 slow log 打印到屏幕上, 而且统计也只有数量而已. 不推荐使用. mysql-log-filter, google code上找到的一个分析工具.提供了 python 和 php 两种可执行的脚本. http://code.google.com/p/mysql-log-filter/ 功能上比官方的 mysqldumpslow, 多了查询时间的统计信息(平均,最大, 累计), 其他功能都与 mysqldumpslow 类似. 特色功能除了统计信息外, 还针对输出内容做了排版和格式化, 保证整体输出的简洁. 喜欢简洁报表的朋友, 推荐使用一下.
  • 6. myprofi, 纯php写的一个开源分析工具.项目在 sourceforge 上. http://myprofi.sourceforge.net/ 功能上, 列出了总的慢查询次数和类型, 去重后的 sql 语句, 执行次数及其占总的 slow log 数量的百分比. 从整体输出样式来看, 比 mysql-log-filter 还要简洁. 省去了很多不必要的内容. 对于只想看 sql 语句及执行次数的用户来说, 比较 推荐. 总结 工具/功能 一般统计信息 高级统计信息 脚本 优势 mysqldumpslow 支持 不支持 perl mysql 官方自带 功能强大,数据报表齐全, mysqlsla 支持 支持 perl 定制化能力强. mysql-explain-slow-log 支持 不支持 perl 无
  • 7. 不失功能的前提下,保持 mysql-log-filter 支持 部分支持 python or php 输出简洁 myprofi 支持 不支持 php 非常精简