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