Why We Recommend Redis as a Drupal or WordPress Caching Backend

One of our newer Enterprise customers recently migrated to Pantheon for a number of reasons; they were struggling with slow performance, downtime and lack of Drupal expertise from their existing vendor. One way we address these challenges is through our 30-day Launch Concierge process, available to all new Enterprise customers.

As part of the Launch Concierge, Pantheon performs an extensive review of the site - both static and manual analysis for best practices and performance concerns, along with load testing. Extensive, actionable reports are provided including recommendations for improving the site and ensuring a smooth site launch.

A concern that we identified during this particular launch was the database was being used as Drupal's cache, and operations were happening at such a high volume and concurrency that even clearing the cache would take the entire site offline for minutes during peak traffic.

We recommended they switch caching to use redis as a drop-in replacement for caching, which Pantheon provides as a service on most plans. Redis is optimized for high performance storage and retrieval, and the installation process takes just moments.

The results were dramatic, and I've included some graphs from New Relic to show the difference. First, the most time consuming queries on the site; you can see when that overhead went away.

Graph of top database operations

In the throughput graph, which combines every queries across the site, not just the top five, the difference is even more apparent - there's a much lower number of queries. The database response time itself didn't change, meaning that the volume greatly reduced while the each query time stayed the same.

Graph of all database operations

Similarly, the application server response time shows a similar story. The PHP execution (in blue) took the same amount of time, but the volume of database operations (orange) dropped.

Graph of app server response time

So, there you have it. Limiting database operations to actual data and using redis a caching backend reduces overhead and improves performance. If you're interested in Launch Concierge and our Enterprise offerings, contact us today!

Resources:

Topics Education, Drupal, WordPress
Contact Us or call us at 855-927-9387