mysqlsla 分析mysql慢查詢日誌

haoge0205發表於2015-10-19
發現有一個工具mysqlsla,分析查詢日誌比 mysqldumpslow分析的會更清晰明瞭!

安裝mysqlsla:

下載mysqlsla-2.03.tar.gz

[root@yoon export]# tar -xvf mysqlsla-2.03.tar.gz

[root@yoon export]# yum install *DBI*

[root@yoon mysqlsla-2.03]# perl Makefile.PL
Can't locate Time/HiRes.pm in @INC (@INC contains: /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at /usr/local/bin/mysqlsla line 2095.
BEGIN failed--compilation aborted at /usr/local/bin/mysqlsla line 2095.

提示報錯要安裝:
[root@yoon mysqlsla-2.03]# yum -y  install perl-Time-HiRes

1、總的查詢次數(queries
 去重後的SQL數量(unique)
2、輸出報表的內容排序:Sorted by 't_sum'   最重大的慢sql統計資訊, 包括 平均執行時間, 等待鎖時間, 結果行的總數, 掃描的行總數
3、Count: sql的執行次數及佔總的slow log數量的百分比
4、Time: 執行時間, 包括總時間, 平均時間, 最小, 最大時間, 時間佔到總慢sql時間的百分比
5、95% of Time: 去除最快和最慢的sql, 覆蓋率佔95%的sql的執行時間
6、Lock Time: 等待鎖的時間
7、95% of Lock: 95%的慢sql等待鎖時間.  
8、Rows sent: 結果行統計數量, 包括平均, 最小, 最大數量
9、Rows examined: 掃描的行數量 
10、Database: 屬於哪個資料庫
11、Users: 哪個使用者,IP, 佔到所有使用者執行的sql百分比
12、Query abstract: 抽象後的sql語句
13、Query sample: sql語句


引數說明
-sort
使用什麼引數來對分析結果進行排序,預設是t_sum來進行排序
t_sum:按總時間排序
c_sum:按總次數排序
c_sum_p:SQL語句執行次數佔總執行次數的百分比


-top
顯示SQL的數量,預設是10,表示按規則取排序的前10條

-db-database
對應的資料庫

-statement-filter:
過濾SQL語句型別,比如select、update、drop.


慢查詢日誌中,執行時間最長的10條SQL
mysqlsla -lt slow  -sf "+select" -top 10  slow.log > yoon.log

慢查詢日誌中slow.log的資料庫為sakila的所有select和update的慢查詢sql,並查詢次數最多的100條sql
mysqlsla -lt slow  -sf "+select,update" -top 100 -sort c_sum -db  sakila slow.log > yoon.log

取資料庫sakila庫中的select語句、按照c_sum_p排序的前2條
mysqlsla  -lt  slow  -sort c_sum_p -sf "+select" -db sakila -top2 /export/servers/mysql/log/slow.log 

慢查詢日誌中,取出執行時間最長的3條SQL語句
mysqlsla -lt slow  --top 3 slow.log

按照總的執行次數
mysqlsla -lt slow  --top 3 --sort c_sum slow.log


取出create語句的慢查詢
mysqlsla -lt slow  -sf "+create"--top 3 --sort c_sum slow.log > yoon.log































來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28939273/viewspace-1814915/,如需轉載,請註明出處,否則將追究法律責任。

相關文章