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语句
除了以上的输出, 官方还提供了很多定制化参数, 是一款不可多得的好工具.
功能上有点瑕疵, 不仅把所有的 slow log 打印到屏幕上, 而且统计也只有数量而已. 不推荐使用.
功能上比官方的mysqldumpslow, 多了查询时间的统计信息(平均,最大, 累计), 其他功能都与 mysqldumpslow类似.
特色功能除了统计信息外, 还针对输出内容做了排版和格式化, 保证整体输出的简洁. 喜欢简洁报表的朋友, 推荐使用一下.
功能上, 列出了总的慢查询次数和类型, 去重后的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 |
非常精简 |
分享到:
相关推荐
标题:五款常用mysql slow log分析工具 描述:本文对五款常用的MySQL慢查询日志分析工具进行深入解析,旨在帮助DBA、开发者和运维人员更有效地定位和优化数据库性能瓶颈。 ### MySQL Slow Log概念 MySQL慢查询日志...
比较的五款常用工具mysqldumpslow, mysqlsla, myprofi, mysql-explain-slow-log, mysqllogfilter mysqldumpslow, mysql官方提供的慢查询日志分析工具. 输出图表如下: 主要功能是, 统计不同慢sql的 出现次数(Count...
这款名为"mysql-log-analysis"的工具正是针对MySQL5的日志分析软件,它可能包含了解析、统计和报告MySQL日志功能的源代码,对于数据库管理员和开发人员来说,这是一个非常实用的资源。 首先,MySQL5的日志系统主要...
本篇文章将对比五款常用的MySQL Slow Log分析工具,以便选择最适合您需求的工具。 1. **mysqldumpslow**:这是MySQL官方提供的分析工具,主要用于统计慢查询日志中的SQL语句。它能展示不同慢SQL的出现次数、执行...
本文实例讲述了php性能分析之php-fpm慢执行日志slow log用法。分享给大家供大家参考,具体如下: ...<value name=request_slowlog_timeout>5s <value name=slowlog>logs/php-fpm-slowlog.log</value> PHP 5.3.3 之
MySQL中的慢查询日志(Slow Query Log)是一个非常重要的功能,它可以帮助数据库管理员识别和优化执行时间较长的SQL查询,从而提升系统的整体性能。本文将详细介绍如何配置MySQL的慢查询日志。 首先,慢查询日志自...
MySQL Slow Log是一个强大的工具,用于诊断和解决MySQL服务器性能问题,特别是当遇到CPU占用率过高时。当MySQL在处理查询时消耗过多CPU资源,可能导致整个系统负载增加,从而影响服务的响应速度和整体效率。通过分析...
MySQL的慢查询日志(log-slow-queries)是一项非常实用的功能,它允许数据库管理员监控和优化那些运行时间较长的SQL查询。启用这一特性可以帮助识别和解决数据库性能瓶颈,提升整体应用的响应速度。以下是关于开启慢...
以下是比较常用的五款MySQL日志分析工具: 1. **mysqldumpslow**:MySQL官方提供的慢查询日志分析工具,支持基本的统计信息提取。 2. **mysqlsla**:Perl脚本,功能强大,支持高级统计信息提取,能够生成全面的数据...
mysql-slow-query-log-visualizer 用于慢速 MySQL 查询的慢速查询日志可视化工具。 从分叉 由于这里的 github 页面功能,它是实时的(无需自己下载): ://benkaiser.github.io/mysql-slow-query-log-visualizer/
在这个项目中,使用了`Awk`命令行工具,这是一个强大的文本分析工具,可以处理结构化的文本数据。通过编写Awk脚本,我们可以从日志中提取出需要的字段。 3. **数据预处理**:在解析日志后,可能需要对数据进行清洗...
MySQL的慢查询日志(Slow Query Log)是一个非常重要的功能,它记录了执行时间超过预设阈值的SQL查询,帮助管理员识别并优化性能瓶颈。本文将详细介绍如何正确且安全地清空在线的慢查询日志。 首先,我们查看当前慢...
MySQL的慢查询日志解析器PHP库用于解析MySQL慢查询日志用法使用composer安装: composer require gumbercules/mysqlslow包括名称空间: use Gumbercules\MysqlSlow;实例化新的文件阅读器: $parser = new LogParser...
本文将详细介绍几种常用的MySQL性能分析工具及其使用方法,帮助读者更好地理解和掌握MySQL的性能优化技巧。 #### MySQL性能分析概述 MySQL提供了多种工具来帮助用户分析和优化其性能,主要包括慢查询日志、`...
为了诊断MySQL故障,我们通常会观察系统日志文件,包括慢查询日志(slowlog)、警告日志(alertlog)、通用查询日志(generalquerylog)和二进制日志(binlog)。通过检查状态变量如com_select、com_insert等,我们...