mysql slow log 分析工具_mysql slow log分析工具的比较
mysql 中的 slow log 是用來(lái)記錄執(zhí)行時(shí)間較長(zhǎng)(超過(guò) long_query_time 秒)的 sql 的一種日志工具。
啟用 slow log
在 my.cnf 中設(shè)置
[mysqld]
slow_query_log=on
slow_query_log_file=mysql-slow
重啟 MySQL 服務(wù)。
五款常用工具
mysqldumpslow
mysqlsla
myprofi
mysql-explain-slow-log
mysql-log-filter
mysqldumpslow
mysql官方提供的慢查詢?nèi)罩痉治龉ぞ摺]敵鰣D表如下:
主要功能包括統(tǒng)計(jì)不同慢 sql 的
出現(xiàn)次數(shù)(Count)
執(zhí)行耗費(fèi)的平均時(shí)間和累計(jì)總耗費(fèi)時(shí)間(Time)
等待鎖耗費(fèi)的時(shí)間(Lock)
發(fā)送給客戶端的行總數(shù)(Rows)
掃描的行總數(shù)(Rows)
用戶以及sql語(yǔ)句本身(抽象了一下格式,比如 limit 1, 20 用 limit N,N 表示)
mysqlsla
hackmysql.com 推出的一款日志分析工具(該網(wǎng)站還維護(hù)了 mysqlreport,mysqlidxchk 等比較實(shí)用的mysql 工具)。
整體來(lái)說(shuō),功能非常強(qiáng)大。輸出的數(shù)據(jù)報(bào)表非常有利于分析慢查詢的原因,包括執(zhí)行頻率、數(shù)據(jù)量、查詢消耗等。
格式說(shuō)明如下:
總查詢次數(shù) (queries total),去重后的 sql 數(shù)量 (unique)
輸出報(bào)表的內(nèi)容排序(sorted by)
最重大的慢 sql 統(tǒng)計(jì)信息,包括平均執(zhí)行時(shí)間、等待鎖時(shí)間、結(jié)果行的總數(shù)、掃描的行總數(shù)。
Count --?sql 的執(zhí)行次數(shù)及占總的 slow log 數(shù)量的百分比。
Time -- 執(zhí)行時(shí)間,包括總時(shí)間、平均時(shí)間、最小、最大時(shí)間、時(shí)間占到總慢 sql 時(shí)間的百分比。
95% of Time -- 去除最快和最慢的 sql,覆蓋率占 95% 的 sql 的執(zhí)行時(shí)間。
Lock Time -- 等待鎖的時(shí)間。
95% of Lock -- 95% 的慢 sql 等待鎖時(shí)間。
Rows sent -- 結(jié)果行統(tǒng)計(jì)數(shù)量,包括平均、最小、最大數(shù)量。
Rows examined -- 掃描的行數(shù)量。
Database -- 屬于哪個(gè)數(shù)據(jù)庫(kù)。
Users -- 哪個(gè)用戶、IP、占到所有用戶執(zhí)行的 sql 百分比。
Query abstract -- 抽象后的 sql 語(yǔ)句。
Query sample -- sql 語(yǔ)句。
除了以上的輸出,官方還提供了很多定制化參數(shù),是一款不可多得的好工具。
mysql-explain-slow-log
德國(guó)人寫(xiě)的一個(gè) perl 腳本。
http://www.willamowius.de/mysql-tools.html
http://www.bt285.cn/content.php?id=1196863
???????
功能上有點(diǎn)瑕疵。不僅把所有的 slow log 打印到屏幕上,而且統(tǒng)計(jì)也只有數(shù)量而已,不推薦使用。
mysql-log-filter
google code 上找到的一個(gè)分析工具,提供了 python 和 php 兩種可執(zhí)行的腳本。
http://code.google.com/p/mysql-log-filter/
功能上比官方的 mysqldumpslow 多了查詢時(shí)間的統(tǒng)計(jì)信息(平均、最大、累計(jì)),其他功能都與 mysqldumpslow 類似。
特色功能除了統(tǒng)計(jì)信息外,還針對(duì)輸出內(nèi)容做了排版和格式化,保證整體輸出的簡(jiǎn)潔。喜歡簡(jiǎn)潔報(bào)表的朋友,推薦使用一下。
myprofi
純 php 寫(xiě)的一個(gè)開(kāi)源分析工具.項(xiàng)目在 sourceforge 上。
http://myprofi.sourceforge.net/
功能上,列出了總的慢查詢次數(shù)和類型、去重后的 sql 語(yǔ)句、執(zhí)行次數(shù)及其占總的 slow log 數(shù)量的百分比。從整體輸出樣式來(lái)看,比 mysql-log-filter 還要簡(jiǎn)潔,省去了很多不必要的內(nèi)容。對(duì)于只想看 sql 語(yǔ)句及執(zhí)行次數(shù)的用戶來(lái)說(shuō),比較推薦。
總結(jié):
工具/功能
一般統(tǒng)計(jì)信息
高級(jí)統(tǒng)計(jì)信息
腳本
優(yōu)勢(shì)
mysqldumpslow
支持
不支持
perl
mysql官方自帶
mysqlsla
支持
支持
perl
功能強(qiáng)大,數(shù)據(jù)報(bào)表齊全,定制化能力強(qiáng)
mysql-explain-slow-log
支持
不支持
perl
無(wú)
mysql-log-filter
支持
部分支持
python or php
不失功能的前提下,保持輸出簡(jiǎn)潔
myprofi
支持
不支持
php
非常精簡(jiǎn)
總結(jié)
以上是生活随笔為你收集整理的mysql slow log 分析工具_mysql slow log分析工具的比较的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 网页设计框架布局代码_网页设计中的分屏切
- 下一篇: python绘制数字23_Python