在ELK的郵件報警中,發現了一個 WARNING: pgstat wait timeout 的報錯信息,看字面意思是pgstat有關操做等待超時。
經過google查詢,發如今pg的郵件列表中提到多數爲io不足引發的,經過sar命令,查看當時的io狀況,發現io的使用率在80%-100%之間。暫時以io不足致使的,網上也有提到其餘緣由,像是ip地址問題,像是stats_temp_directory參數配置問題,當前因爲是運行已久的數據庫,並檢查相關參數後,排除以上緣由。
因爲報錯的是pgstat,又瞭解到現網的pg版本是9.0,在stats_temp_directory中的pgstat文件只有一個,在pg9.3後,進行了切分,每個庫一個,外加一個全局pgstat文件,歷來減小了io的開銷。
在stats_temp_directory中存放的統計信息文件是臨時的,在數據庫關閉或crash的狀況下,會保存到pg_stat目錄中,進行持久化落盤。