From: Craig Ringer <ringerc@ringerc.id.au>
To: Richard Shaw <richard@aggress.net>
Cc: pgsql-performance@postgresql.org
Subject: Re: Rather large LA
Date: Mon, 05 Sep 2011 19:16:45 +0800
Message-ID: <4E64AF9D.3060601@ringerc.id.au> (raw)
In-Reply-To: <0894B018-542F-45B6-9A2E-A84DEA99AE0A@aggress.net>
References: <F757E48F-2B4F-496D-951B-B04ED98F8FD6@aggress.net>
<4E64A94E.7000803@ringerc.id.au>
<0894B018-542F-45B6-9A2E-A84DEA99AE0A@aggress.net>
On 5/09/2011 6:55 PM, Richard Shaw wrote:
> Hi Craig,
>
> Apologies, I should have made that clearer, I am using PgBouncer 1.4.1 in front of Postgres and included the config at the bottom of my original mail
>
Ah, I see. The point still stands: your hardware can *not* efficiently
do work for 1000 concurrent backend workers. Reduce the maximum number
of workers by setting a lower cap on the pool size and a lower
max_connections. This won't work (you'll run out of pooler connections)
unless you also set PgBouncer to transaction pooling mode instead of the
default session pooling mode, which you're currently using. It is
*important* to read the documentation on this before doing it, as there
are implications for apps that use extra-transactional features like
HOLD cursors and advisory locks.
See: http://pgbouncer.projects.postgresql.org/doc/usage.html
It may also be necessary to set PgBouncer to block (wait) rather than
report an error when there is no pooled connection available to start a
new transaction on. I'm not sure what PgBouncer's default behavior for
that is and didn't see anything immediately clear in the pgbouncer(5)
ini file man page.
--
Craig Ringer
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-performance@postgresql.org
Cc: ringerc@ringerc.id.au, richard@aggress.net
Subject: Re: Rather large LA
In-Reply-To: <4E64AF9D.3060601@ringerc.id.au>
* 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