Putting WordPress into Hyperdrive

2 minute read Updated

Prepare for Ludicrous Speed with a 300% improvement in page load time.

After giving a talk at WordCamp Ubud 2017 – where I showed how to use a $5 Vultr box and Redis with Load Impact to support up to 7000 concurrent WordPress users – I was asked to help turn some of the performance optimization work demoed into a WordPress plug-in.

It’s the first of it’s kind — and like no other performance plugin to precede it. Based on initial tests it speeds up the stock Twenty Seventeen theme about 300% and I suspect time will show even greater gains for other themes. It builds on top of a performance optimization technique called Fetch Injection, enabling external scripts to download asynchronously in parallel while preserving execution order.

Here’s what a WordPress waterfall looks like using Fetch Injection, provided by the Fetch Inject library and now available as a WordPress plugin in Hyperdrive:

waterfall
WordPress Twenty Seventeen theme with a Subsecond render using Fetch Inject. This performance can be reproduced on other systems using the functions.php file used during testing.

To achieve scale with Fetch Injection installed on WordPress, I added Redis Object Cache. Here’s a view of data (more data available below) as I slam the $5 Vultr box with 10,000 VU using Load Impact:

benchmarks
Ramping up traffic against a 1GB RAM CentOS 6.9 (Final) box running WordPress with Redis Object Cache and Fetch Injection. Image courtesy of Load Impact. Measurements taken on April 21, 2017. Raw data logged to New Relic available upon request. Raw WebPageTest metrics available below.
Screen Shot 2017–04–21 at 11.55.53 PM
htop running on the Vultr box under test as it nears the 10,000 VU marker.

Check out Load Impact’s Go + JavaScript tool called K6 for CI integration of load testing using Load Impact.

During testing I also took a number of WebPageTests being run externally to the system, and WPT reported page load never crept above 5 seconds.

WebPageTest
Timed WebPageTests taken during various points of the VU load testing.

Full talk including info on how to deck out a $5 VPS for scale up to thousands of users coming soon to WordPress.tv. Keep your eyes peeled.

Update: 16-Nov-2019: Unfortunately it appears as though the 2017 talks from WordCamp Ubud never made it onto WordPress.tv.

Thanks to everyone at WordCamp Ubud 2017 for providing a platform with which to share this work. It wouldn’t have been possible without you.


This post originally appeared on Hackernoon.com.