mysql效能log分析工具

2021-04-21 07:45:53 字數 3315 閱讀 5899

啟用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語句

除了以上的輸出

, 官方還提供了很多定製化引數

, 是一款不可多得的好工具.

mysql-explain-slow-log,

德國人寫的乙個

perl指令碼.

功能上有點瑕疵

, 不僅把所有的

slow log

列印到螢幕上

, 而且統計也只有數量而已

. 不推薦使用.

mysql-log-filter, google code

上找到的乙個分析工具

.提供了

python

和php

兩種可執行的指令碼

功能上比官方的

mysqldumpslow,

多了查詢時間的統計資訊(平均

,最大, 累計

), 其他功能都與

mysqldumpslow類似.

特色功能除了統計資訊外

, 還針對輸出內容做了排版和格式化

, 保證整體輸出的簡潔

. 喜歡簡潔報表的朋友

, 推薦使用一下.

myprofi,

純php

寫的乙個開源分析工具

.專案在

sourceforge 上.

功能上, 列出了總的慢查詢次數和型別

, 去重後的

sql語句

, 執行次數及其佔總的

slow log

數量的百分比

.從整體輸出樣式來看, 比

mysql-log-filter

還要簡潔

. 省去了很多不必要的內容

. 對於只想看

sql語句及執行次數的使用者來說

, 比較推薦.

總結

工具/功能

一般統計資訊

高階統計資訊

指令碼優勢

mysqldumpslow

支援不支援

perl

mysql

官方自帶

mysqlsla

支援支援

perl

功能強大,資料包表齊全,定製化能力強.

mysql-explain-slow-log

支援不支援

perl

無mysql-log-filter

支援部分支援

python or php

不失功能的前提下,保持輸出簡潔

myprofi

支援不支援

mysql 效能分析 mysql效能分析工具

一 expalin 在sql語句之前加上explain關鍵字就可以獲取這條sql語句執行的計畫 那麼返回的這些欄位是什麼呢?我們先關心一下比較重要的幾個字段 1.select type 查詢型別 1 簡單查詢,沒有union和子查詢 2 priamry 主查詢,有union或子查詢的最外層查詢 3 ...

MySQL監控 效能分析 工具篇

mysql越來越被更多企業接受,隨著企業發展,mysql儲存資料日益膨脹,mysql的效能分析 監控預警 容量擴充套件議題越來越多。工欲善其 事,必先利其器 那麼我們如何在進行mysql效能分析 監控預警 容量擴充套件問題上得到更好的解決方案,就要利用各種工具來對mysql各種指標進行分 析。本文是...

MySQL監控 效能分析 工具篇

mysql越來越被更多企業接受,隨著企業發展,mysql儲存資料日益膨脹,mysql的效能分析 監控預警 容量擴充套件議題越來越多。工欲善其 事,必先利其器 那麼我們如何在進行mysql效能分析 監控預警 容量擴充套件問題上得到更好的解決方案,就要利用各種工具來對mysql各種指標進行分 析。本文是...