We've got a prominent client with a very high-traffic, high-load website that is predominantly PHP, PostgreSQL backend, MVC design (uses Smarty for compiling templates etc etc).
Previously the site ran rather hot on an old physical server that had plenty of guts behind it. However recently this client's website has been migrated to virtual infrastructure in order to decommission the old physical server.
Initially the site moved over to one web server with about a quarter of the specs as the physical server (sigh). As expected, the traffic was way too much for the server and it was clocking in load averages of about 13.00. Not long after, the virtual infrastructure was modified so that the site ran one web server and a separate postgres server alongside. Both servers were also upgraded to higher specs.
The virtual server pair was doing well, except during peak times when the load would still hit upwards of around 7.00. Finally we decided to throw up some caching platforms to try and store compiled php scripts in memory and speed up the site a bit.
eAccelerator was used. I was quite surprised with the ease of installation. Despite having to compile it from source (we're using Debian Etch, and I couldn't find any pre-prepared deb binaries (later I found Andrew McMillan's personal repository which features it, oh well) ), there were no errors during the configure and make, and it slotted in neatly into php5's configuration with a simple configuration file.
Very quickly the site has sped up and the load very rarely hits over 1.00, which means it's running better than it was on the old physical server. Should've done this ages ago!
My only concern with eAccelerator is that I initially installed it on our dev server first, for testing. It installed fine but we came in this morning and found that php scripts were seg faulting. Removing the eaccelerator config file from /etc/php5/conf.d/ and restarting apache fixed it. Uh oh :(
So far the production server is still running ok with no seg faults, but I'd heard some horror stories about eAccelerator and seg faulting, so now I'm wondering if it's a good idea to keep using it (at least on a production server, seems a bit risky!). The problem is that apache kept running, so there were no alerts from my Nagios server about the problem. Just php scripts weren't working.
Today I discovered Xcache, which reportedly has a higher performance. On top of that it's installable with a simple apt-get install php5-xcache on Debian Etch. Love it. The admin backend is neat too.
It's installed on our local dev server and looking good. Apparently it's more tested and googling around, I'm seeing a lot more praise being sung for it for use on production systems. Here's hoping. I may just put it on the client's server and see how it rolls.
This site is archived. mig5 is taking a break from writing.