Blazing fast WordPress with Nginx and Memcached21 May 2013 • 7 minute read
Inspired by Eric Mann’s post on caching WordPress with Redis, I thought I’d experiment with a similar setup using Memcached. Any in-memory caching system should work just as well, but I’ve chosen Memcached because it’s already running on my server and because PHP already has a built-in libmemcached API.
My current setup is Nginx and PHP-FPM, with WP Super Cache. The cache is saved to the filesystem, allowing Nginx to serve static files (which it is very good at) without needing to pass any requests to PHP. This setup has worked very well, so I’ll be using it as a baseline.
To use Memcached, every request needs to be passed to PHP. My gut feeling was that this would be slower than serving static files with Nginx due to the overhead of spinning up a PHP process for each request.
To find out which of the two setups was faster, I measured the following metrics using WebPagetest and Blitz (referral link):
- Time To First Byte (although CloudFlare has speculated that TTFB is a meaningless metric)
- Average response time
- Average hit rate