Why We Recommend Redis as a Drupal or WordPress Caching Backend

Sarah Fruy , Director, WebOps Partner Marketing Reading estimate: 2 minutes

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 (now known as Object Cache on Pantheon) 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.

Image

Top 5 operations by wall clock time.

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.

Image

Database Throughput

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.

Image

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:

Discover More

Special Guests at our DrupalCon Portland Booth

Steve Persch
Reading estimate: 3 minutes

Discover Top Alternative to WordPress VIP for Enterprise Hosting

Steve Persch
Reading estimate: 9 minutes

How to Build Agile Web Development Practices For City Government

Steve Persch
Reading estimate: 5 minutes

Try Pantheon for Free

Join thousands of developers, marketers, and agencies creating magical digital experiences with Pantheon.