首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> MySQL 資料庫 >> MySQL 綜合教學

MySQL 慢查詢分析神器 mysqlsla 安裝與使用全攻略

     編輯:MySQL 綜合教學

MySQL 慢查詢分析神器 mysqlsla 安裝與使用全攻略

mysqlsla(MySQL Statement Log Analyzer)是 Perl 編寫的慢日志分析工具,能快速定位性能瓶頸,支持 Slow/General/Binary 等多種日志格式,輸出豐富統計指標。本文詳細記錄從下載、依賴解決、安裝到實戰參數講解的完整流程。

一、下載與解壓

wget https://hackmysql.com/scripts/mysqlsla-2.03.tar.gz
tar -zxvf mysqlsla-2.03.tar.gz
cd mysqlsla-2.03

二、依賴檢查與安裝

執行 perl Makefile.PL 檢查 CPAN 依賴,輸出 Looks good 表示通過。隨後編譯安裝:

make && make install

安裝完成後,mysqlsla 命令將部署至 /usr/bin/,模塊安裝至 Perl 庫目錄。

三、核心參數詳解

參數別名說明
--log-type-lt日志類型:slow、general、binary、msl、udl。分析慢查詢指定 slow。
--sort排序依據:t_sum(總耗時,默認)、c_sum(總次數)。
--top顯示前 N 條 SQL,默認 10。
--statement-filter-sfSQL 類型過濾:+SELECT,INSERT 只分析 SELECT/INSERT,-UPDATE 排除 UPDATE。默認排除未列出類型。
--databases-db指定分析的數據庫,多個用逗號分隔。

四、輸出報表關鍵指標

  • Queries total:總查詢次數
  • Unique:去重後 SQL 條數
  • Count:執行次數及佔比
  • Time:總/平均/最小/最大耗時,佔總慢查詢時間比
  • 95% of Time:去除極值後 95% 覆蓋率耗時
  • Lock Time:鎖等待時間統計
  • Rows sent/examined:返回行數與掃描行數
  • Database/Users:來源庫、用戶及 IP 分佈
  • Query abstract/sample:抽象化與原始 SQL

五、實戰範例

# 1. 分析慢查詢中所有 SELECT,按耗時排序取 Top 10
mysqlsla -lt slow -sf "+select" -top 10 download_server1-slow.log > test_time.log

# 2. 分析 ultraxsmutf8 庫的 SELECT/UPDATE,按次數排序取 Top 100
mysqlsla -lt slow -sf "+select,update" -top 100 -sort c_sum -db ultraxsmutf8 download_server1-slow.log > num_time.log

提示:日志文件較大時建議先切分(如按天),避免單次分析耗時過長。結合 pt-query-digest 可實現更豐富的聚合與報表輸出。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved