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. >> > > >