pg.ddx.io  pgsql-admin@postgresql.org mailing list archive  
help / color / mirror / Atom feed
From: Chris Ernst <cernst@zvelo.com>
To: pgsql-admin@postgresql.org
Subject: Re: Scaling
Date: Sun, 24 Apr 2011 17:25:46 -0600
Message-ID: <4DB4B17A.4060502@zvelo.com> (raw)
In-Reply-To: <BANLkTi=Mf9HeECcGPBun8+VUAK-m=awAew@mail.gmail.com>
References: <BANLkTi=Mf9HeECcGPBun8+VUAK-m=awAew@mail.gmail.com>

On 04/24/2011 04:21 PM, David Hornsby wrote:
> My SMB database is currently running on a HP-UX box running in a master
> - slave slonyI cluster to create a hot spare database. Recently the
> server has be getting hammered and we are consistently hitting our max
> db connections. We have our web CMS and our web apps, our desktop client
> apps, and a couple application servers running off of this database
> server and it is crumbling under the stress. Currently we have been
> doing table partitioning and table archiving to trim the fat off of the
> indexing processes etc.
> 
> My project at hand is to upgrade this configuration to a linux cluster
> of servers, 2 - 3. The ideal solution is to just do load balancing
> through DNS requests and have 2 servers in a multi master configuration.
> So far we have not had any hardware issues on our current set up ( knock
> on wood). So in doing this I am not immediately looking for a hot spare
> set up. But in the future am looking at setting up a VPN tunnel to an
> offsite server and sending WAL updates to that.
> 
> Any and all comments are truly appreciated as well as any nudges in
> various directions.

I'm not aware of any production ready multi-master solution for
PostgreSQL.  So I would not suggest perusing that at the moment.

If your primary problem is hitting your max db connections (and the
performance degradation that goes along with that), I would suggest
looking in to connection pooling.  This will allow you to cap the number
of connections without just rejecting connections and will enable you to
dedicate more resources to each of the active connections.  Ultimately,
your overall throughput should increase.

pgbouncer is very easy to set up and is great if you want simple
pooling.  pgpool is is also a great pooler and a lot more (e.g. load
balancing, horizontal scaling, etc), but is a bit more complex to set up.

	- Chris



view thread (4+ messages)  latest in thread

Message-ID: <4DB4B17A.4060502@zvelo.com>
Permalink:  ../4DB4B17A.4060502@zvelo.com/
Also on:    postgresql.org/message-id/4DB4B17A.4060502@zvelo.com

 · 

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: pgsql-admin@postgresql.org
  Cc: cernst@zvelo.com
  Subject: Re: Scaling
  In-Reply-To: <4DB4B17A.4060502@zvelo.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox