2016-12-02 55 views
0

我運行RDS postgresql實例。曾經有一段時間,實例遇到硬盤寫入活動的高峯,查詢性能似乎受到影響。秒殺持續5-10分鐘,然後自行消失。是什麼導致寫入活動

該數據庫支持大量的工作負載,包括Web查詢和批量數據加載。我想將書寫活動中的峯值與特定類型的工作負荷相關聯,例如,網絡流量的增加,或比正常數據集更大的負載,但迄今尚未成功。

我想知道postgresql服務器是否有任何可用於此目的的儀器?例如,是否有辦法將磁盤寫入與特定查詢/事務相關聯?如果是這樣,我可能能夠彙總這些信息,以查看哪種類型的事務導致大部分磁盤寫入。

我知道這很含糊。任何建議,將不勝感激。

回答

0

取決於您的環境 - 比如我必須使用的主要是終端命令行的東西,所以我必須要登錄頂部使用sudo iotop -b -n 1|head -15 I/O進程或頂「Postgres的過程sudo iotop -b -n 1 -u postgres的時間點快照 - 在這裏我會找到的TID頂級I/O進程。

使用psql -U ... -d ... -t -c "select pid, query from pg_stat_activity where state='active' "我可以將TID匹配到postgresql進程列表中的pid。

但這些尖峯也可能是由「統計收集器」或autovacuum進程引起的,這隻能在操作系統級別上看到。

相關問題