Quick Tips To Easily Scale Your WordPress Website

May 31, 2021 | By Tom Fanelli | No Comments
May 31, 2021
By Tom Fanelli

No Comments
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 in to keep in mind when scaling WordPress:

  • Visitors - These are just what you think, real people who are usually your customers or audience.
  • Requests - Each visitor to your site will make 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 - This is content that has to be processed by a database, think of your ecommerce shopping cart.
  • Logged in Sessions - Do users need to login to your site? This is another critical factor that increases load.

You need to have a great handle on your users, the content they are accessing, and the code of your site to ensure your 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 much server resources do I 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 just ran I had 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.

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

It's worth mentioning 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 Caching Using Cloudflare

I mentioned earlier that you should 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 you 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.

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

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 you can 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 you 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. You can follow a few rules like Edge Caching, Static Content, etc and you can scale WordPress to handle a pretty significant amount of users, but Tom, what if I have a database heavy site like a membership or ecommerce site. This is where it gets more costly.

Scaling WordPress’s database layer requires a lot more in terms of compute resources and technical expertise. In the ideal situation you have a multi-server or container set up that can 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, you’ll need to 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 you need. 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 as 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’re only using the resource you need… when you need them.

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

 

 

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

Be the first one to comment.
Have your say

Leave a Reply

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

Copyright 2021 © Convesio