Postgresql

Spiky COMMIT 導致 Postgres 8.4 的性能下降

  • May 21, 2015

我們剛剛在我們的 Web 應用程序上安裝了性能監控,我們看到來自 Postgres 8.4 伺服器的響應時間出現了尖峰模式。峰值對應於我們的網路應用程序的顯著放緩。時間似乎主要在“Postgres commit”中佔用:

按消耗時間排列的頂級數據庫操作

我們在帶有 EBS 的 Amazon EC2 c1.xlarge 實例上自託管 Ubuntu 10.04 上的 Postgres 8.4.3,基本上具有庫存設置。是的,我知道 EBS 上的 Postgres 可能不是最好的設置。我們計劃在今年晚些時候在 RDS 上遷移到更新的 Postgres DB。

與此同時,有什麼明顯的東西我應該看一下可以馴服這個尖刺的模式嗎?

很難說出你的圖表到底在說什麼。但是commit設計得很慢。預設情況下,Postgres在返回之前等待更改寫入磁碟commit

您可以commit使用此選項在將更改寫入磁碟之前完成:

synchronous_commit = off

這肯定有助於分散commit更多時間所需的磁碟 I/O。缺點是伺服器中斷可能導致已完成的事務失去。

引用自:https://dba.stackexchange.com/questions/102084