WordPress with QueryPilot: Instant Database Scaling Without Code Changes

4 min read

15 days ago

WordPress with QueryPilot: Instant Database Scaling Without Code Changes

Introduction

We at Readyset, recently launched the public beta of QueryPilot, an automatic query caching layer designed to make scaling relational databases effortless. QueryPilot analyzes real-time query traffic, identifies high-impact patterns, and transparently caches results, without requiring code changes or database tuning. 

In an effort to show how easy it would be for applications to take advantage of QueryPilot, we put it to test against one of the most prolific content platforms on the planet - WordPress. This post dives deeper into our testing and the results. 

Understanding Database Challenges for WordPress

Before we begin, it is important to understand that WordPress continues to be one of the most widely used platforms on the internet. Despite the explosion of modern JavaScript frameworks, static site generators, and headless CMS tools, WordPress still powers a staggering 43% of all websites and more than 63% of sites that use a content management system, according to recent data from W3Techs. It’s used by bloggers, media companies, e-commerce platforms, enterprise marketing teams, and even government websites.

What makes WordPress successful is its ease of use and extensibility through a robust plugin framework. However, this flexibility comes at a cost: a high volume of dynamic database queries. Every page load can trigger dozens of queries for posts, comments, metadata, users, plugin logic, and more. Across tens of millions of active WordPress installations, that adds up to an enormous and constant load on relational databases, most commonly MySQL or its cloud-managed variant such as Aurora/RDS MySQL on AWS.

This is where many WordPress users start to hit a wall. While WordPress itself is easy to install and scale horizontally at the web server layer, its underlying database often becomes the bottleneck especially under read-heavy workloads or traffic spikes. Readyset QueryPilot, in our experience, works particularly well for stable, parameterized queries like those commonly generated by applications such as WordPress.

Establishing a Baseline

To demonstrate how effective this can be, we deployed a standard WordPress installation backed by Amazon RDS MySQL. We ran a stress test using ApacheBench to simulate traffic and observed how the database handled the load.

Before enabling Readyset, the database quickly began to strain under the test, with CPU usage rising steadily and latency increasing across the board. This is a common pain point as even modest bursts in traffic can quickly overrun a single RDS or Aurora instance, and scaling typically requires spinning up costly read replicas.

Concurrency Level:40
Time taken for tests:780.075 seconds
Complete requests:20000
Failed requests:0
Total transferred:2278920000 bytes
HTML transferred:2274720000 bytes
Requests per second:25.64 [#/sec] (mean)
Time per request:1560.149 [ms] (mean)
Time per request:39.004 [ms] (mean, across all concurrent requests)
Transfer rate:2852.94 [Kbytes/sec] received

The Solution

Once we established a Readyset QueryPilot instance, we configured it to replicate from the Aurora source database. Setup was minimal (and documented here). After provisioning the Readyset cluster, we updated the WordPress configuration by simply changing the database hostname in the wp-config.php file. The application recognized Readyset as just another MySQL endpoint and continued to function normally.

Within seconds of switching traffic, the impact was immediately visible. QueryPilot began caching the most common and repetitive queries. Since these queries are often identical and highly cacheable, Readyset was able to serve responses directly from memory, bypassing the underlying Aurora database entirely.

The Results

The result was a dramatic reduction in database load. The same stress test that previously caused noticeable strain now ran smoothly, with far lower latency and near-zero impact on the primary database

(Second half of the data indicates database performance when run with Readyset)

Concurrency Level:40
Time taken for tests:482.889 seconds
Complete requests:20000
Failed requests:0
Total transferred:2278920000 bytes
HTML transferred:2274720000 bytes
Requests per second:41.42 [#/sec] (mean)
Time per request:9656.778 [ms] (mean)
Time per request:24.144 [ms] (mean, across all concurrent requests)
Transfer rate:4608.74 [Kbytes/sec] received

The results speak for themselves as the Requests per second went from 25 to 41 and the time per request also went down across the board. 

What’s more, the QueryPilot instance itself was barely using any resources. It handled the entire workload that would have otherwise required multiple RDS read replicas and it did so with low CPU usage and ample capacity remaining. 

This is the efficiency of Readyset’s caching engine, and its ability to offload heavy read traffic with minimal infrastructure overhead. We explored it in this great blog from Vinicius, the cost-benefit analysis of Readyset when compared to traditional read replicas. 

Here is a brief summary of our findings 

In Conclusion

Traditionally, scaling a WordPress database involves layering on additional read replicas, managing load balancers, and still dealing with slow queries that evade caching plugins. Readyset QueryPilot eliminates that complexity by acting as an intelligent intermediary. It observes what’s happening in real time, caches what should be cached, and leaves everything else untouched. It also handles cache invalidation safely using the database’s replication stream, ensuring that data stays consistent without introducing latency.

For high-traffic WordPress installations - whether you’re running a content-heavy site, or a multi-author publication, Readyset QueryPilot offers a compelling new option - scalable database performance with zero application changes.

You can get started with Readyset Cloud in just a few minutes and experience the performance improvements immediately. If your current setup relies on read replicas, page caching plugins, or database tuning to stay afloat, QueryPilot offers a smarter and simpler path to scale.

Visit readyset.io to learn more, try the product, or get in touch with our team to see how Readyset can help scale your WordPress deployment. All without rewriting a single query.