Thanks John.  Were you using Apache::DBI before PgBouncer?
Apache::DBI would also eliminate the overhead of establishing new
connections.

- Perrin

On Tue, Apr 22, 2014 at 12:23 PM, John Dunlap <j...@lariat.co> wrote:
> I can speak to your final point. I recently deployed PGBouncer into our
> production environment and, like the OP, we have separate web and database
> servers. With PGBouncer running on the web server(you could also run it on
> the database server if you wanted to) we noticed a dramatic increase in
> performance. I haven't looked into it in detail but my best guess is that
> running the pool on the web server eliminates the overhead of establishing
> new connections(DNS lookups, establishing TCP connections, authentication,
> waiting for the database to spool up a new process, etc).
>
>
> On Tue, Apr 22, 2014 at 12:18 PM, Perrin Harkins <phark...@gmail.com> wrote:
>>
>> Interesting.  Why did you have to install PgBouncer?  Can't Postgres
>> handle remote connections from your web server?
>>
>> I don't use Postgres, but reading the description of PgBouncer I can
>> see some things you'd want to consider.
>>
>> First, Apache::DBI prevents you from making persistent connections
>> before the parent process forks.  If you don't use it, you should
>> check your code to make sure that it closes any handles it opens
>> during server startup.
>>
>> Second, there's the issue of what happens when your code throws an
>> exception.  Apache::DBI will issue a rollback on any active handles
>> that aren't in autocommit mode after each request.  If you don't use
>> it, I'd suggest adding your own cleanup handler to do a rollback.
>>
>> Finally, there's the issue of performance.  It's not clear whether DBI
>> connects faster when using PgBouncer.  You should probably benchmark
>> that yourself.  You may still get a significant speed boost from
>> caching the connections (with Apache::DBI) on the client side.
>>
>> - Perrin
>>
>> On Tue, Apr 22, 2014 at 10:02 AM, jbiskofski <jbiskof...@gmail.com> wrote:
>> > I just want to confirm something with all you smart folks.
>> >
>> > I recently separated my web servers from my database servers, before I
>> > was
>> > using Apache::DBI to maintain persistent connections between Apache and
>> > Postgres. With this new setup I had to install PgBouncer. Can I now
>> > safely
>> > remove Apache::DBI from my application and use regular DBI ??
>> >
>> > Thank you.
>> >
>
>

Reply via email to