慢查詢日志分析工具之pt-query-digest


簡介

       pt-query-digest 是用於分析mysql慢查詢的一個工具,與mysqldumpshow工具相比,py-query_digest 工具的分析結果更具體,更完善。

       有時因為某些原因如權限不足等,無法在服務器上記錄查詢。這樣的限制我們也常常碰到,所以開發了兩種替代的技術,都集成到了Percona Toolkit 中的 pt-query-digest 中。

       第一種是通過 --processlist 選項不斷查看 SHOW FULL PROCESSLISTR 的輸出,記錄查詢第一次出現的時間和消失的時間。某些情況下這樣的精度也足夠發現問題,但卻無法捕獲所有查詢。一些執行較快的查詢可能在兩次執行的間隙就執行完成了,從而無法捕獲到。

       第二種是通過抓取TCP網絡包,然后根據MYSQL的客戶端/服務端通信協議進行解析。可以先通過 tcpdump 將網絡包數據保存到磁盤,然后使用 pt-query-digest 的 --type=tcpdump 選項來解析並分析查詢。此方法的精度比較高,並且可以捕獲所有的查詢。還可以解析更高級的協議特性,比如可以解析二進制協議,從而創建並執行服務器端預解析的語句(prepared statement)及壓縮協議。另外還有一種方法,就是通過MYSQL Proxy 代理層的腳本來記錄所有查詢,但在實踐中我們很少這樣做。

在windows中安裝 

       在我的 mysql/bin 文件夾里並沒有  pt-query-digest.pl 文件,並且要想在windows中支持perl文件,得先安裝 perl 支持,安裝方法可查看 慢查詢日志分析工具之mysqldumpslow接下來在 mysql/bin 文件夾下打開 git bash窗口,輸入命令:

 curl -o pt-query-digest.pl https://www.percona.com/get/pt-query-digest

進度為100%表示下載完成,可以使用命令驗證: perl pt-query-digest.pl --help

使用方法

         

       具體使用方法請查看 http://www.php.cn/mysql-tutorials-357655.html

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM