程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> 關於MYSQL數據庫 >> 使用mysqldumpslow和mysqlsla分析mysql慢查詢日志

使用mysqldumpslow和mysqlsla分析mysql慢查詢日志

編輯:關於MYSQL數據庫
之前看慢查詢日志,一條一條看,累死個人呀。看到這個文章,的確用這個很不錯。轉載過來收藏。轉自:http://www.lampblog.Net/2011/05/%E4%BD%BF%E7%94%A8mysqldumpslow%E5%92%8Cmysqlsla%E5%88%86%E6%9E%90MySQL%E6%85%A2%E6%9F%A5%E8%AF%A2%E6%97%A5%E5%BF%97/
MySQL優化不是一勞永逸的工作,而是一個持久戰。其中慢查詢日志的分析是一個重要手段,以前我總是手動大概看看,不過這實在不是長久之計,今天試用了一下mysqldumpslow和MySQLsla,感覺效率高多了。
mysqldumpslow mysqldumpslow是官方提供的perl腳本,所以你也不用費勁巴拉的安裝了,只要有mysql的環境基本就能用: MySQLdumpslow -s c
其中參數(-s c)的意思就是按照各種慢查詢條數排序。不過MySQLdumpslow有一個挺不爽的缺點,就是查詢的結果只有一些抽象的SQL,沒有可供實際運行的SQL例子。
mysqldumpslow, MySQL官方提供的慢查詢日志分析工具. 輸出圖表如下:
主要功能是, 統計不同慢sql的出現次數(Count), 執行最長時間(Time), 累計總耗費時間(Time), 等待鎖的時間(Lock), 發送給客戶端的行總數(Rows), 掃描的行總數(Rows), 用戶以及sql語句本身(抽象了一下格式, 比如 limit 1, 20 用 limit N,N 表示).
mysqlsla mysqlsla是 hackmysql.com推出的一款日志分析工具(該網站還維護了 mysqlreport, mysqlidxchk 等比較實用的MySQL工具) 整體來說, 功能非常強大. 數據報表,非常有利於分析慢查詢的原因, 包括執行頻率, 數據量, 查詢消耗等.
安裝方法如下: tar zxf http://hackmysql.com/scripts/mysqlsla-2.03.tar.gz cd MySQLsla-2.03 perl Makefile.PL make make install
使用起來很簡單: /path/to/MySQLsla slow.log
格式說明如下: 總查詢次數 (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語句
除了以上的輸出, 官方還提供了很多定制化參數, 是一款不可多得的好工具.
  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved