使用pt-query-digest分析mysql

最近在看《高性能MySQL》,作者們背靠Percona向我展示了以前從不知道的一些關於MySQL的知識以及各種分析優化工具,比如這裏要說的pt-query-digest。

什麼是pt-query-digest?
pt-query-digest是一個可以分析MySQL日誌(query、slow和binglog)、processlist和tcpdump的工具。

安裝篇
pt-query-disest是用Perl寫的一個文件,下載下來就可以使用。將下載下來的pt-query-digest文件放在環境變量目錄下,方便使用。

wget percona.com/get/pt-query-digest
chmod u+x pt-query-digest

準備篇
執行命令 pt-query-digest ,發現如下錯誤信息,原因在於我們的系統缺少一個Perl包導致的。

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/pt-query-digest line 3187.
BEGIN failed--compilation aborted at /usr/local/bin/pt-query-digest line 3187.

解決方案

yum install -y perl-Time-HiRes

apt-get install -y perl-Time-HiRes

風險
在沒有真正掌握pt-query-digest工具之前,請不要在生產環境就使用pt-query-digest。如果一定要使用,請先做好數據備份、閱讀詳細的文檔以及瞭解目前已知的BUG。

使用篇
現在就可以來使用了,比如我這裏有一份mysql的查詢日誌mysql_query.log,那麼就可以通過下面的命令對該日誌進行一個粗略的分析。

pt-query-degest mysql_query.log

1066495E-670C-4DDB-BDA8-D8EF7B44975A

Usage

pt-query-digest [OPTIONS] [FILES] [DSN]

上面只是一個粗略的分析,當然實際當中我們還有許多需求,比如分析具體哪一段時間的日誌、或者將分析結果導出來等等的需求。pt-query-digest的衆多參數都可以幫我們解決問題。
更多的詳細參數信息、processlist以及tcpdump可以點擊下方官方給出的文檔

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章