使用mysqldumpslow和mysqlsla分析mysql慢查询日志
MySQL優化不是一勞永逸的工作,而是一個持久戰。其中慢查詢日志的分析是一個重要手段,以前我總是手動大概看看,不過這實在不是長久之計,今天試用了一下mysqldumpslow和mysqlsla,感覺效率高多了。
mysqldumpslow
mysqldumpslow是官方提供的perl腳本,所以你也不用費勁巴拉的安裝了,只要有mysql的環境基本就能用:
/path/to/mysqldumpslow -s c
其中參數(-s c)的意思就是按照各種慢查詢條數排序。不過mysqldumpslow有一個挺不爽的缺點,就是查詢的結果只有一些抽象的SQL,沒有可供實際運行的SQL例子。
mysqlsla
mysqlsla是第三方提供的perl腳本,不過它功能更強悍,可以分析包括慢查詢在內的多種格式的日志,同時沒有上面所說的mysqldumpslow的缺點。
tar zxf http://hackmysql.com/scripts/mysqlsla-2.03.tar.gz
cd mysqlsla-2.03
perl Makefile.PL
make
make install
使用起來很簡單:
/path/to/mysqlsla slow.log
mysqlsla會自動判斷日志類型,缺省會打印出前十條結果,可以通過類似“--top 100”的參數來修改,如果覺得每次輸入麻煩,還可以建立一個配置文件“~/.mysqlsla”,在文件里寫上:top=100,這樣就不用每次都手動輸入參數了。
還有很多其他的工具,不過我感覺只要會用這兩個就足夠了,mysqldumpslow相對通用,mysqlsla相對強大,剩下其他的雜七雜八的工具不看也罷。
慢查詢分析是個長期工作,即便系統長時間沒有引入新的SQL查詢,也可能由于不斷更新數據使得數據分布特征發生變化,從而導致索引失效,進而產生慢查詢。所以說平時要多留神,有了上面介紹的利器,工作會清閑很多。
總結
以上是生活随笔為你收集整理的使用mysqldumpslow和mysqlsla分析mysql慢查询日志的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: App通过QQ/微信登录绑定用户信息的一
- 下一篇: OMA DRM代理安全性思考