pt-query-digest是percona的工具箱中的一個工具,可以對於MySQL的多種日誌進行分析,其中就包括MySQL的慢查詢日誌。
依賴檢查
執行命令:rpm -qa perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL
依賴安裝
執行命令:yum install perl-DBI perl-DBD-MySQL perl-Time-HiRes perl-IO-Socket-SSL
下載和安裝percona toolkit的依賴包
執行命令:yum install https://www.percona.com/redir/downloads/percona-release/redhat/1.0-19/percona-release-1.0-19.noarch.rpm
安裝包查看
執行命令:yum list | grep percona-toolkit
percona-toolkit安裝
執行命令:yum install percona-toolkit
結果確認
[root@liumiaocn ~]# which pt-query-digest
/usr/bin/pt-query-digest
[root@liumiaocn ~]# pt-query-digest --version
pt-query-digest 3.2.0
[root@liumiaocn ~]#
使用方式
pt-query-digest可以對多種日誌進行分析,缺省不做設定時輸入參數爲MySQL慢查詢的日誌文件,執行示例命令如下所示:
執行命令:pt-query-digest 慢查詢日誌文件名
結果輸出
統計部分
統計部分主要包含如下的結果輸出內容
- Overall:查詢總數
- Time range:查詢執行的時間範圍
- unique:唯一查詢數量,即對查詢條件進行參數化以後,總共有多少個不同的查詢
- total:總計
- min:最小值
- max:最大值
- avg:平均
- 95%:95%分位值
- median:中位值
排名統計
對於所有語句,進行排序輸出的統計信息,主要包含:
- Rank:所有語句的排名,默認按查詢時間降序排列
- Query ID:語句的ID,實際是去掉多餘空格和文本字符的hash值
- Response:總的響應時間
- time:該查詢在本次分析中總的時間佔比
- calls:執行次數,即本次分析總共有多少條這種類型的查詢語句
- R/Call:平均每次執行的響應時間
- V/M:響應時間Variance-to-mean的比率
- Item:查詢對象
詳細結果
對於查詢的詳細統計結果,提供瞭如下的信息輸出:
- ID:查詢的ID號(與排名統計中Query ID對應)
- Databases:數據庫名
- Users:各個用戶執行的次數(佔比)
- Query_time distribution :查詢時間分佈, 長短體現區間佔比。
- Tables:查詢中涉及到的表
- Explain:SQL語句