Wow, Django doesn't include or use a connection pool! That's just not web scale [NSFW]. This screenshot is the difference in response time after adding pgbouncer.

(Sorry, site update and I lost the screenshot.)

This is pretty surprising to me coming from a Java background. I don't remember how to manually connect to a database without looking it up anymore, since I almost always use commons-dbcp. Connection pooling is awesome.

I suppose a lot of Django projects must be using MySQL, where starting and stopping a bunch of connections isn't so expensive. But with Postgres or Oracle's process model, it's horrendously, stupidly slow. Not using some kind of pooling mechanism is like knee-caping your servers.

blog comments powered by Disqus