Обсуждение: pgBouncer for connection pooling
I have a web-based application (drupal) which uses PHP to make connections to a back-end postgresql 8.3 server. The application and database are on separate servers, but as we can get 20+ concurrent connections on the database I've looked at pgBouncer to try and reduce the overhead of new connections on the database. I currently have pgBouncer running on the same server as my postgres database but I was wondering whether this is a recommended setup - are the performance benefits of using a connection pooler overshadowed by the overhead of running pgBouncer on the same server as the database?
How are other people using pgBouncer? E.g. on a separate server from the database etc...?
Thanks in advance.
On Mon, 2010-08-23 at 14:38 +0000, Kieren Scott wrote: > Hi, > > I have a web-based application (drupal) which uses PHP to make > connections to a back-end postgresql 8.3 server. The application and > database are on separate servers, but as we can get 20+ concurrent > connections on the database I've looked at pgBouncer to try and reduce > the overhead of new connections on the database. I currently have > pgBouncer running on the same server as my postgres database but I was > wondering whether this is a recommended setup - are the performance > benefits of using a connection pooler overshadowed by the overhead of > running pgBouncer on the same server as the database? > > How are other people using pgBouncer? E.g. on a separate server from > the database etc...? We use it in both on separate boxes as well as local. As long as your machine is handling the connection processing of the pooler fine, I wouldn't worry about it. There are some specific high end off machine things you can do (point at different databases on different machines from a single pooler) that is cool but for just a Drupal website it is probably not required. JD -- PostgreSQL.org Major Contributor Command Prompt, Inc: http://www.commandprompt.com/ - 509.416.6579 Consulting, Training, Support, Custom Development, Engineering http://twitter.com/cmdpromptinc | http://identi.ca/commandprompt
> Subject: Re: [ADMIN] pgBouncer for connection pooling
> From: jd@commandprompt.com
> To: kierenscott@hotmail.com
> CC: pgsql-admin@postgresql.org
> Date: Mon, 23 Aug 2010 09:02:31 -0700
>
> On Mon, 2010-08-23 at 14:38 +0000, Kieren Scott wrote:
> > Hi,
> >
> > I have a web-based application (drupal) which uses PHP to make
> > connections to a back-end postgresql 8.3 server. The application and
> > database are on separate servers, but as we can get 20+ concurrent
> > connections on the database I've looked at pgBouncer to try and reduce
> > the overhead of new connections on the database. I currently have
> > pgBouncer running on the same server as my postgres database but I was
> > wondering whether this is a recommended setup - are the performance
> > benefits of using a connection pooler overshadowed by the overhead of
> > running pgBouncer on the same server as the database?
> >
> > How are other people using pgBouncer? E.g. on a separate server from
> > the database etc...?
>
> We use it in both on separate boxes as well as local. As long as your
> machine is handling the connection processing of the pooler fine, I
> wouldn't worry about it. There are some specific high end off machine
> things you can do (point at different databases on different machines
> from a single pooler) that is cool but for just a Drupal website it is
> probably not required.
>
> JD
>
> --
> PostgreSQL.org Major Contributor
> Command Prompt, Inc: http://www.commandprompt.com/ - 509.416.6579
> Consulting, Training, Support, Custom Development, Engineering
> http://twitter.com/cmdpromptinc | http://identi.ca/commandprompt
>
>
> --
> Sent via pgsql-admin mailing list (pgsql-admin@postgresql.org)
> To make changes to your subscription:
> http://www.postgresql.org/mailpref/pgsql-admin
On Mon, 2010-08-23 at 14:38 +0000, Kieren Scott wrote: > Hi, > > I have a web-based application (drupal) which uses PHP to make > connections to a back-end postgresql 8.3 server. The application and > database are on separate servers, but as we can get 20+ concurrent > connections on the database I've looked at pgBouncer to try and reduce > the overhead of new connections on the database. I currently have > pgBouncer running on the same server as my postgres database but I was > wondering whether this is a recommended setup - are the performance > benefits of using a connection pooler overshadowed by the overhead of > running pgBouncer on the same server as the database? > > How are other people using pgBouncer? E.g. on a separate server from > the database etc...? We use it in both on separate boxes as well as local. As long as your machine is handling the connection processing of the pooler fine, I wouldn't worry about it. There are some specific high end off machine things you can do (point at different databases on different machines from a single pooler) that is cool but for just a Drupal website it is probably not required. JD -- PostgreSQL.org Major Contributor Command Prompt, Inc: http://www.commandprompt.com/ - 509.416.6579 Consulting, Training, Support, Custom Development, Engineering http://twitter.com/cmdpromptinc | http://identi.ca/commandprompt
I have pgbouncer running on the same server, and I get over 2000 calls to a php page per minute.
Each call does inserts data digests into partitioned tables.
I also have a multi-threaded daemon connected to the same database running background operations on the data coming in.
Works flawlessly.
BTW, 20 connections is not a heavy load at all.
In my application, pgbouncer has opened about 60 backends to handle the cases where I have a high oncurrency of data coming in at once, but usually the # non-idle connections is < 10.
From: pgsql-admin-owner@postgresql.org [mailto:pgsql-admin-owner@postgresql.org] On Behalf Of Kieren Scott
Sent: Monday, August 23, 2010 8:38 AM
To: pgsql-admin@postgresql.org
Subject: [ADMIN] pgBouncer for connection pooling
Hi,
I have a web-based application (drupal) which uses PHP to make connections to a back-end postgresql 8.3 server. The application and database are on separate servers, but as we can get 20+ concurrent connections on the database I've looked at pgBouncer to try and reduce the overhead of new connections on the database. I currently have pgBouncer running on the same server as my postgres database but I was wondering whether this is a recommended setup - are the performance benefits of using a connection pooler overshadowed by the overhead of running pgBouncer on the same server as the database?
How are other people using pgBouncer? E.g. on a separate server from the database etc...?
Thanks in advance.
Most of the time the database only has 5-6 connections, however we occasionally get a flood of connections which can mean 60+ connections (when a company email is sent out with a link to a web page), so I'm looking to handle these spikes in connections as best I can :-)
Kieren
Subject: Re: [ADMIN] pgBouncer for connection pooling
Date: Mon, 23 Aug 2010 22:15:34 -0600
From: kraj@servoyant.com
To: kierenscott@hotmail.com; pgsql-admin@postgresql.org
I have pgbouncer running on the same server, and I get over 2000 calls to a php page per minute.
Each call does inserts data digests into partitioned tables.
I also have a multi-threaded daemon connected to the same database running background operations on the data coming in.
Works flawlessly.
BTW, 20 connections is not a heavy load at all.
In my application, pgbouncer has opened about 60 backends to handle the cases where I have a high oncurrency of data coming in at once, but usually the # non-idle connections is < 10.
From: pgsql-admin-owner@postgresql.org [mailto:pgsql-admin-owner@postgresql.org] On Behalf Of Kieren Scott
Sent: Monday, August 23, 2010 8:38 AM
To: pgsql-admin@postgresql.org
Subject: [ADMIN] pgBouncer for connection pooling
Hi,
I have a web-based application (drupal) which uses PHP to make connections to a back-end postgresql 8.3 server. The application and database are on separate servers, but as we can get 20+ concurrent connections on the database I've looked at pgBouncer to try and reduce the overhead of new connections on the database. I currently have pgBouncer running on the same server as my postgres database but I was wondering whether this is a recommended setup - are the performance benefits of using a connection pooler overshadowed by the overhead of running pgBouncer on the same server as the database?
How are other people using pgBouncer? E.g. on a separate server from the database etc...?
Thanks in advance.