Well that was embarrassing.
Turns out we were down for a few hours while I wasn’t looking. Usually I get text messages and other alerts if there is anything wrong with the site. It turns out I did get the alerts, I just didn’t have my phone near me to receive them… Oh well, it’s all fixed now.
If you must know what the issue is, I can’t really say at this point. It appears to be an issue at the intersection of Apache, APC (cache) and MySQL. I’ve not exactly pinned down the cause, but it appears an issue with APC and fcgi processes. I’m going to upgrade to the latest stable version of APC and see if that helps. If not then I’ll be digging back into the Apache configuration.
Thanks to those who e-mailed.