Database

集群直播 postgres 8.3 伺服器

  • May 2, 2010

我們的 Web 應用程序的流量越來越大,這讓我們可憐的 pg8.3 數據庫伺服器有點難以跟上。我已經研究過使用 pgpool II 對數據庫進行集群以減輕一點壓力,我想知道應該如何做到這一點,以盡量減少停機時間,因為我將集群一個實時數據庫。

有沒有人有這方面的經驗或知道任何要遵循的指南?乾杯:)

首先,您確定集群是您的性能問題的答案嗎?你有沒有考慮過:

  1. 記憶體。如果您有大量使用並訪問數據庫的“公共”頁面,那麼前端記憶體的設置非常簡單,並且可能會產生奇蹟(想想 httpd + mod_cache)
  2. 優化您的應用程序。我假設你已經知道你的瓶頸是 Postgres。在一天的日誌上執行 pgFouine,找到最熱門的查詢,索引它們或盡量避免它們。
  3. 改進 Postgres 伺服器上的硬體。如果您受 CPU 限制(極少數情況),也許更好的 CPU 或更多核心會有所幫助。您可以隨時添加更多 RAM,以便記憶體更多內容(並確保使用它!Postgres 預設記憶體設置非常保守——這可能是您的問題,請檢查您是否正在使用所有 RAM)。此外,一個足夠大的 RAID10 陣列會創造奇蹟……

如果你無論如何都想設置集群——並且在 Postgres 領域,我傾向於認為它應該更多是出於可用性目的而不是性能目的——pgpool 提供了一些技巧來複製數據庫而停機時間非常短(http://pgpool.projects。 postgresql.org/pgpool-II/doc/pgpool-en.html#online-recovery)。

引用自:https://serverfault.com/questions/137818