use Apache::DBI (); appears in our startup.pl but the application code uses
DBI directly.


On Tue, Apr 22, 2014 at 12:30 PM, Perrin Harkins <phark...@gmail.com> wrote:

> 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