天天看點

mysqlsla快速入門

1、什麼是mysqlsla?

簡單的說就是分析mysql log的工具,我主要是用他來分析下mysql slow log。

2、下載下傳

<a href="http://hackmysql.com/mysqlsla" target="_blank">http://hackmysql.com/mysqlsla</a>

3、安裝

tar

cd

perl Makefile.PL

make &amp;&amp; make install

4、運作

mysqlsla -lt slow /tmp/slow.log

(通過這個參數來制定log的類型,主要有slow, general, binary, msl, udl,分析slow log時通過制定為slow.)

到這一步也許會出現如下的錯誤提示:

<a href="http://blog.51cto.com/attachment/201209/160600698.jpg" target="_blank"></a>

解決方式如下:

還有可能出現如下的錯誤,方法也在圖中的紅框處

<a href="http://blog.51cto.com/attachment/201210/010645465.jpg" target="_blank"></a>

另一種出錯的可能,如下,方法也在圖中

<a href="http://blog.51cto.com/attachment/201210/000157566.jpg" target="_blank"></a>

這樣就ok了!因為我這沒有資料,是以給大家看下空的時候的表現

<a href="http://blog.51cto.com/attachment/201209/160734239.jpg" target="_blank"></a>

5、指令參數說明

1) -log-type (-lt) type logs:

通過這個參數來制定log的類型,主要有slow, general, binary, msl, udl,分析slow log時通過制定為slow.

2) -sort:

制定使用什麼參數來對分析結果進行排序,預設是按照t_sum來進行排序。

t_sum:按總時間排序

c_sum:按總次數排序

c_sum_p: sql語句執行次數占總執行次數的百分比。

3) -top:

顯示sql的數量,預設是10,表示按規則取排序的前多少條

4) &amp;ndash;statement-filter (-sf) [+-][TYPE]:

過濾sql語句的類型,比如select、update、drop.

[TYPE]有SELECT, CREATE, DROP, UPDATE, INSERT,例如"+SELECT,INSERT",不出現的預設是-,即不包括。

5) db:要處理哪個庫的日志:

例如,隻取backup庫的select語句、按c_sum_p排序的前2條記錄

mysqlsla -lt slow -sort c_sum_p  -sf  "+select" -db backup -top 2  /tmp/127_slow.log

1)queries total: 總查詢次數  

2)unique:去重後的sql數量  

3)sorted by : 輸出報表的内容排序 最重大的慢sql統計資訊, 包括 平均執行時間, 等待鎖時間, 結果行的總數, 掃描的行總數.  

(t_sum:按總時間排序;c_sum:按總次數排序;c_sum_p: sql語句執行次數占總執行次數的百分比)

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

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

6)95% of Time: 去除最快和最慢的sql, 覆寫率占95%的sql的執行時間.  

7)Lock Time: 等待鎖的時間.  

8)95% of Lock: 95%的慢sql等待鎖時間.  

9)Rows sent: 結果行統計數量, 包括平均, 最小, 最大數量.  

10)Rows examined: 掃描的行數量.  

11)Database: 屬于哪個資料庫. 

12)Users: 哪個使用者,IP, 占到所有使用者執行的sql百分比. 

13)Query abstract: 抽象後的sql語句. 

14)Query sample: sql語句.

本文轉自 小強測試幫 51CTO部落格,原文連結:http://blog.51cto.com/xqtesting/1008279,如需轉載請自行聯系原作者