熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> MySQL >> 正文

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

2013-11-23 21:00:26  來源: MySQL 

  mysql slow log 是用來記錄執行時間較長(超過long_query_time秒)的sql的一種日志工具

  啟用 slow log

  有兩種啟用方式:

   在f 裡 通過 logslowqueries[=file_name]

   在mysqld進程啟動時指定–logslowqueries[=file_name]選項

  比較的五款常用工具

  mysqldumpslow mysqlsla myprofi mysqlexplainslowlog mysqllogfilter

  mysqldumpslow mysql官方提供的慢查詢日志分析工具 輸出圖表如下:

  
    
    主要功能是 統計不同慢sql的

  出現次數(Count)

  執行最長時間(Time)

  累計總耗費時間(Time)

  等待鎖的時間(Lock)

  發送給客戶端的行總數(Rows)

  掃描的行總數(Rows)

  用戶以及sql語句本身(抽象了一下格式 比如 limit 用 limit NN 表示)

  mysqlsla 推出的一款日志分析工具(該網站還維護了 mysqlreport mysqlidxchk 等比較實用的mysql工具)

  
    
    整體來說 功能非常強大 數據報表非常有利於分析慢查詢的原因 包括執行頻率 數據量 查詢消耗等

  格式說明如下:

  總查詢次數 (queries total) 去重後的sql數量 (unique)

  輸出報表的內容排序(sorted by)

  最重大的慢sql統計信息 包括 平均執行時間 等待鎖時間 結果行的總數 掃描的行總數

  Count sql的執行次數及占總的slow log數量的百分比

  Time 執行時間 包括總時間 平均時間 最小 最大時間 時間占到總慢sql時間的百分比

  % of Time 去除最快和最慢的sql 覆蓋率占%的sql的執行時間

  Lock Time 等待鎖的時間

  % of Lock %的慢sql等待鎖時間

  Rows sent 結果行統計數量 包括平均 最小 最大數量

  Rows examined 掃描的行數量

  Database 屬於哪個數據庫

  Users 哪個用戶IP 占到所有用戶執行的sql百分比

  Query abstract 抽象後的sql語句

  Query sample sql語句

  除了以上的輸出 官方還提供了很多定制化參數 是一款不可多得的好工具

  mysqlexplainslowlog 德國人寫的一個perl腳本

  

  

      
    功能上有點瑕疵 不僅把所有的 slow log 打印到屏幕上 而且統計也只有數量而已 不推薦使用

  mysqllogfilter google code上找到的一個分析工具提供了 python 和 php 兩種可執行的腳本

  logfilter/

  
    
    功能上比官方的mysqldumpslow 多了查詢時間的統計信息(平均最大 累計) 其他功能都與 mysqldumpslow類似

  特色功能除了統計信息外 還針對輸出內容做了排版和格式化 保證整體輸出的簡潔 喜歡簡潔報表的朋友 推薦使用一下

  myprofi 純php寫的一個開源分析工具項目在 sourceforge 上

  

  
    
    功能上 列出了總的慢查詢次數和類型 去重後的sql語句 執行次數及其占總的slow log數量的百分比

  從整體輸出樣式來看 比mysqllogfilter還要簡潔 省去了很多不必要的內容 對於只想看sql語句及執行次數的用戶來說 比較推薦

  總結

   工具/功能 一般統計信息 高級統計信息 腳本 優勢 mysqldumpslow 支持 不支持 perl mysql官方自帶 mysqlsla 支持 支持 perl 功能強大數據報表齊全定制化能力強 mysqlexplainslowlog 支持 不支持 perl 無 mysqllogfilter 支持 部分支持 python or php 不失功能的前提下保持輸出簡潔 myprofi 支持 不支持 php 非常精簡

  


From:http://tw.wingwit.com/Article/program/MySQL/201311/29428.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.