Prepare for Ludicrous Speed
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.
This is that plugin, currently in beta:
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:
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:
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.
You can drill down to the actual WPT metrics by clicking the image above and choosing any points in the graph (if you see nothing, just change the date range). The tests dated April 21, 2017 correspond directly with the VU ramp-up.
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.
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.