Quick Tips To Scaling Your WordPress Website

May 31, 2021 | By Tom Fanelli | 1 Comment
May 31, 2021
By Tom Fanelli

1 Comment
Scaling WordPress has many challenges, but not all scaling events are the same. -- Tom Fanelli
Tweet

Scaling WordPress has many challenges, but not all scaling events are the same. Let me sort out the different types of traffic and solutions to handling a massive surge.

Let's set the stage by reviewing some really important factors to keep in mind when scaling WordPress:

  • Visitors -  Real people who are usually your customers or audience.
  • Requests - Each visitor to your site makes X number of requests each time a page is loaded. If you have 10 images on the page, plus the HTML doc, that's 11 requests per visitor. Usually, we see sites making 20-50 requests per page load all the way up to several hundred and well beyond. This is important as it can exponentially increase the load on your server.
  • Cached Content - This is essentially content that does not need to make a call to the back end of WordPress or a database. We want as much content as possible to be cached and ideally not even on your main server but off the edge (more on this later).
  • Dynamic Content - Content that has to be processed by a database, think of an e-commerce shopping cart.
  • Logged in Sessions - Do users need to log in to your site? This is another critical factor that increases load.

You need to handle users on what content they are accessing. And the code of your site to ensure success when scaling WordPress. Let's look at some real-world examples of how this might work.

A lot of people want to know how many server resources they need to handle X number of users. The problem is there are too many variables to make a blanket statement, otherwise scaling WordPress would be easy 🙂

In one test, I tested 2500 visitors on a cached site, with Cloudflare Enterprise and Full Page Caching. That test caused WordPress to use almost 3-4 full CPU cores on the site. This test did not include database load, only WordPress.

cpu usage stats

That same exact test, but by accident included a broken link to a page that caused a 404 error used double the resources.

Convesio cpu usage stats

It's worth mentioning that these were both tested on Google c2 instances with 16 cores. See the impact of having one page in the mix that was not cacheable, WordPress load increases significantly.

ABOUT THE AUTHOR
Tom Fanelli
Over my career, I have worked in both small business and Fortune 500 companies. I have had the honor of being a presenter for organizations like Microsoft, Intuit, Sage Software, RealPage, NARPM, NAA, and the Small Business Administration. Most recently I completed my first ebook, Infographics in Action, which teaches exactly how to create and market with infographics. Currently, I work in San Francisco and reside in the bay area with my wife and four children. Feel free to drop me a line, I would love to hear from you!
Free Resource

Sign up for our newsletter

Receive our monthly round up of what's new with WordPress.

Spotlight

Introducing Managed WordPress Scaling

Convesio is the only platform where you can set up a highly scalable WordPress website in under two minutes. No SysAdmin required - set up and manage scaling via an easy-to-use dashboard.

30-DAY FREE TRIAL

Scaling WordPress with Full Page Edge Cache Using Cloudflare

As mentioned earlier, push as much content to the edge as possible. This is really beneficial as it moves these requests from even getting to your server and uses the edge network from providers like Cloudflare to process the request. This saves your precious compute power for content that needs to be processed at the origin.

The chart below shows how a product like Cloudflare can cache requests on the edge and never even have to send a request to the origin. Of a total of 102k requests, Cloudflare served 56k requests leaving the server to handle only 46k, this essentially cut the requests in half.

Convesio massive traffic stats

The next factor to address is to ensure that your site has a high cache hit ratio on the edge. It doesn't do much good if your edge cache hit request is very low. Make sure to check this prior to your scaling event.

cache status convesio

Personally, the cache hit ratio in this chart above is actually low. There might be a reason for this, but if you are hosting a blog, news site or brochureware you should strive for a 80%+ cache hit ratio.

An easy and cheap way to accomplish this for mostly static sites is to use Cloudflare's new Automatic Platform Optimization. This uses a powerful combination of Cloudflare Workers designed for WordPress and full-page caching enabling the ability to use Cloudflare's massive infrastructure to scale WordPress.

The Hard Part of Scaling WordPress

Ok, until now mostly scaling WordPress has been pretty basic. Follow few rules like Edge Caching, Static Content, etc and you can scale WordPress to handle a pretty significant number of users, but Tom, what if I have a database heavy site like a membership or e-commerce site. This is where it gets more costly.

Scaling WordPress’s database layer requires a lot more in terms of computing resources and technical expertise. In the ideal situation, there are multi-server or container set up that share the load, which typically comes with a hefty price tag.

Edge caching should still be part of the plan as it will help manage some of the load. Next, engage with an expert to configure the hosting stack you need to spec, carrying out load testing to simulate usage and work out the resources needed. The final solution will be the lower-cost one that can handle the highest load scenarios and is inevitably expensive: you’re paying for the biggest engine even if you don’t need all the power most of the time.

Scaling WordPress the Easy Way

This is the challenge Convesio has solved, leveraging the latest tech to deliver great performance without costing the earth either. We have made it very easy for anyone to set up a highly scalable instance of WordPress.

We use Docker containers to run WordPress as it’s fast and allows websites to scale automatically. If WordPress is hit by a sudden traffic spike, additional containers spawn to share the load. Once the spike is over the additional containers terminate, so you use the resource when you need them.

Here’s the best bit: you can set this up in minutes via our dashboard:

scaling servers convesio

 

 

We have also integrated Cloudflare Enterprise to make websites even faster and lighten the load on the server.

You can learn more about our platform’s features on our pricing page or better still, sign up for a 30-day free trial and see how it works.

 

Comments

Have your say

Leave a Reply

Your email address will not be published. Required fields are marked *

Copyright 2021 © Convesio