perlbal

Subject tags: 

Today it is so cold that I am doing all I can to stop myself from declaring the day over, and curling up in bed with the fan heater and the electric blanket and a half-dozen other blankets on top. And it’s only six pm. This is not good.

Yesterday, though, it was warm enough for me to have a Hacking Evening. One of the things I needed to do here was install Request Tracker for sorting through our short-term worker approval process. (I’m sure there will be other uses for it, but it’s usually one obvious use that lets you shoehorn it into an organisation and gets people to realise how useful it is. Heh, heh…)

Anyway, since installing RT has gone from being the full-day brainache-inducing nightmare it used to be, to now being a matter of a couple of commands - which takes so much of the fun, and certainly most of the consultancy fees, out of it - I had to do something to complicate things again.

I got scared about the fact that one Apache server has PHP, Perl, SSL and a host of other extensions hanging off it, and particularly how one of my users’ experiments with mod_perl has been known to take the whole server down, and decided to try something a bit more flash.

This blog and the web sites hanging off its server are actually front-ended by a Squid reverse-proxy to speed things up a bit and take some of the pressure off serving mostly-static files. I thought I’d do something like that but with not just one but several back-end web servers; where I used to work we use something called Squirm to handle redirecting a bunch of virtual hosts off onto their own servers. (That’s due to using Zope, which runs its own web server for each application you set up. If you want more than one application on the same IP address, you have to find your own way to multiplex them.)

Anyway, I was just starting moving vhosts onto their own server instances, and working out nice ways to do the Apache configuration and init.d scripts and everything, and then I realised that squid and squirm is big heavy overkill anyway, and I should check out this thing called Perlbal that I’d heard various folks raving about.

At that point I realised that I didn’t even need a separate server for all of the static-content web sites - Perlbal can serve them itself using sendfile goodness, which makes it extremely, extremely quickly. RT has its own standalone web server, a bit like Zope, so I got Perlbal to proxy that as well; the way I see it, the less Apache, the happier my servers are. And everything else, all the horrible PHP stuff, gets proxied back to Apache normally.

And like I said, it’s extremely, extremely quick. Both thumbs up.