This site previously used WordPress as a CMS platform. Quite a bit of time was spent tuning in order to get page load times that were consistently less then 500ms although usually closer to 200 to 300ms. The WordPress site was able to burst to around to 2000 users per blitz.io although there was an error here or there. I speculate that is a limitation on the outgoing bandwidth of the VPS as the system resources appeared stable. The largest improvements were made by caching, Varnish prevented repeat Apache, PHP and MySQL requests. Real world saturation is a different scenario but not too bad when compared to a stock LAMP setup. A stock LAMP setup on my VPS would handle around 50 req/sec before services started to hang up. I have since migrated to a new platform but wanted to keep this around for reference.
Note that the process flow in the following diagram is approximate and does not necessarily accurate.
- Hosted with Linode on a Xen Hypervisor.
- Debian Linux Operating System
- Apache MPM worker - Multi-Processing Module implementing a hybrid multi-threaded multi-process web server
- Google PageSpeed Apache module backed by Memcached
- PHP-FPM (FastCGI Process Manager)
- Varnish Cache - a web application accelerator AKA a caching HTTP reverse proxy
- Memcached memory object caching system
- WordPress running 2010 template
- Batcache plugin using Object Cache backed by Memcached