問題:
僅用慢日誌檔案,如何快速獲取分時報告?
如果有監控系統,獲取分時報告(每小時慢查詢的條數報告)不難,如果只有慢日誌檔案,就會有點費勁。
實驗:
透過 pt-query-digest --timeline 功能,可以輸出帶時間戳的慢查詢條目
用 sed 將 timeline 報告濾出
安裝 termsql
使用 termsql,將報告匯入,並使用 SQL 查詢一條記錄,以展示 termsql 的效果
可以看到 termsql 將 timeline 報告的每一行,整理成了一條資料,放在 SQLite 中。
下面就可以盡情使用 SQL 獲取分時報告:
用一個複雜一點慢日誌,獲得如下結果:
可以輕鬆定位到慢查詢的熱點時段,也便於發現業務的週期性規律。
termsql 是一個很方便的小工具:
1. 可以用於將文字匯出到 SQLite 中,方便 SQL 查詢。
2. 它與 ps 或者 top 合用也有驚喜,比如找出 CPU 佔用率高於 25% 的程序:
問題:
僅用慢日誌檔案,如何快速獲取分時報告?
如果有監控系統,獲取分時報告(每小時慢查詢的條數報告)不難,如果只有慢日誌檔案,就會有點費勁。
實驗:
透過 pt-query-digest --timeline 功能,可以輸出帶時間戳的慢查詢條目
用 sed 將 timeline 報告濾出
安裝 termsql
使用 termsql,將報告匯入,並使用 SQL 查詢一條記錄,以展示 termsql 的效果
可以看到 termsql 將 timeline 報告的每一行,整理成了一條資料,放在 SQLite 中。
下面就可以盡情使用 SQL 獲取分時報告:
用一個複雜一點慢日誌,獲得如下結果:
可以輕鬆定位到慢查詢的熱點時段,也便於發現業務的週期性規律。
termsql 是一個很方便的小工具:
1. 可以用於將文字匯出到 SQLite 中,方便 SQL 查詢。
2. 它與 ps 或者 top 合用也有驚喜,比如找出 CPU 佔用率高於 25% 的程序: