Another fun success
dormando at rydia.net
Thu Nov 17 15:17:11 PST 2005
Due to a total overload on our backend and given how well testing was
going, we decided to give perlbal a try in production. Several hours of
manual labor later, and it's working pretty incredibly.
I'm working out the finer points of optimization now, but it's up and
working and our site has never loaded this fast before! I had gotten
hitched up on a couple things with the management interface. Tracking
how it's running is tough, but after a learning curve and some source
diving I got the hang of it.
Right now we're working on getting HTTP 1.0 keep-alives working on our
backend. Since it's all PHP, it really wants to use chunked encoding or
single-shot HTTP 1.0 responses :\ The difference in speed perlbal shows
when working without persistent backend connections is huge... 50-70%
performance degredation, and if there're any users in the pending queue,
it's because it's trying to get/verify a backend connection for them.
It looks like this is fixable on our end with another ~30 minutes of
effort, but I wish I was able to hack in HTTP 1.1 support with my time
:) It'd also be nice to more easily track how many keep-alive
connections were reused vs connections closed. Maybe I can follow this
up with some patches, but probably not given time constraints...
More information about the perlbal