集群生活postgres 8.3服务器

我们的networking应用越来越stream量,这使得我们糟糕的pg8.3数据库服务器有点麻烦。 我已经看了一下使用pgpool II对数据库进行集群以减轻一点压力,我想知道如何做到这一点,以尽量减less停机时间,考虑到我将聚集一个实时数据库。

有没有人有这方面的经验或知道任何指导要遵循? 干杯:)

首先,你确定群集是你的性能问题的答案吗? 你有没有考虑过:

  1. caching。 如果你的“公共”页面被大量使用并且碰到数据库,那么前端caching设置非常简单,而且可能会造成奇迹(认为httpd + mod_cache)
  2. 优化您的应用程序。 我会假设你已经知道你的瓶颈是Postgres。 在一天的日志中运行pgFouine,find最重要的查询,索引它们或尝试避免它们。
  3. 改善Postgres服务器上的硬件。 如果你是CPU绑定(罕见的情况下),也许更好的CPU或更多的核心将有所帮助。 你总是可以添加更多的RAM,以便更多的东西被caching(并确保使用它!Postgres默认的内存设置是非常保守的 – 这可能是你的问题,检查你使用所有的RAM)。 此外,一个足够大的RAID10arrays将做奇迹…

如果你想设置集群,并且在Postgres域名中,我倾向于认为它应该是更多的可用性目的比性能 – pgpool提供了一些窍门来复制数据库停机时间很less( http://pgpool.projects。 postgresql.org/pgpool-II/doc/pgpool-en.html#online-recovery )。