There is a fine line between over provisioning and under provisioning website capacity, especially in an industry as “peaky” as eCommerce.
Over provision your infrastructure and you’re wasting budget. Website capacity is just sitting there for most of the time, rarely if ever actually being useful. It’s a waste of money most business leaders find unacceptable.
On the other hand, there’s too much at stake to under provision your website. You risk delivering poor customer experience when your site slows down, throws up errors or even crashes at peak times, which will in turn cost you dearly in lost customers and revenue. If that happens, what do you tell your board of directors?
Before we look at ways to avoid these website capacity issues, let’s take a moment to understand them a little bit more.
What can push your website capacity over the edge?
When it comes to estimating website visitors, you probably have a good understanding of your baseline traffic and how your website copes day to day, so let’s look at the out-of-the-ordinary occurrences that may push traffic levels beyond expectations.
Firstly, sales are designed to spike interest in your brand. You want consumers to flock to your promotions and boost revenue! An increase in web traffic is (hopefully) an inevitable consequence of this. Also be weary of when a new product is due to drop, as this will spike interest in your brand, too.
Similarly, any associated marketing or advertising campaigns aim to drive traffic to your website. Sometimes you can estimate how much additional traffic to expect based on the size of the campaign; How many email recipients are there? What reach does the campaign have? These can be forecasted, which is useful for capacity planning. The key to managing these risks is to have an open line of communication between the IT infrastructure team and the marketing team.
On the other hand, you never know when a piece of content will go viral, which makes accurately estimating website visitors difficult.
Aside from your owned media, there’s always the chance of organic media coverage, depending on what kind of brand you work for; this should a particular consideration for consumer goods organizations. A tweet from an influencer, or a mention in the news can create website-crushing spikes in public interest. Are you prepared to welcome that amount of traffic into your website all at once with zero notice? If not, do you have a virtual waiting room at the ready to keep your site online?
Negative consequences of not having enough capacity
Let’s say your website is not ready for an unexpected peak of traffic. What’s the worst that can happen?
Quite a few things, as it turns out. First, if there are more visitors making requests to access your site than you have capacity to serve, the site is going to slow down. Studies have consistently shown that customers are less likely to stick around and make purchases on a slow website. Always pay close attention to how peak traffic affects website performance and response times.
Every site has different bottlenecks when they start getting flooded with requests and will break in different ways. You might find that images stop loading, or payments stop processing. There’s a myriad of functional issues that could be caused by an overloaded website, many of which have a direct impact on customers.
And how are customers impacted, exactly? Well, they will get frustrated. People are much more likely to tell their friends (or strangers on social media and your Google reviews page) about a bad experience than a good one. This hurts your reputation and can even lead to bad press; you don’t want to be publicly called out for your website breaking at a critical moment.
Ultimately all these things lead to lost customers and have a detrimental impact on your revenue – exactly the opposite of your business goals during peak times.
How to test your website’s capacity
To avoid this, you need to ensure your website has enough capacity to handle as much traffic as you might possibly get during peak times.
Before you can do this, you need to first load test what your platform is capable of. The first step is to decide what exactly you are testing – in other words, the specific scenarios you are expecting. These user journeys will form the basis of your test scripts.
This is because it’s no good just saying “we know the site can handle 50,000 concurrent users”. What if all those users add items to the basket and check out? What if they add one item, then continue to browse your product pages? Do you know how the site will behave when your visitors are acting in specific ways?
Next you need to decide what to measure when you do your tests. How many requests can the site handle? How many transactions can be put through the checkout? What is the impact on your servers’ CPU and RAM? What other parts of your infrastructure, or your third-party services, could be bottlenecks? You won’t know if you don’t monitor them.
With all this set up, you can start your load testing. There are various tools and methods for generating virtual traffic and injecting this, ideally into a like-for-like test site or on your real site at a non-peak time when you are unlikely to affect real customers.
With the tests complete, you can finally analyze the results to find and fix your bottlenecks in a logical and effective way. Then, test again.
Solutions to not having enough capacity
You might find that by addressing your low hanging fruit you can increase your website capacity quickly and cheaply. You could only need to make reasonably simple changes to increase how many concurrent users your website can handle.
However, you need to be a bit smarter to ramp up capacity when needed whilst still being cost effective. Most commonly this means taking advantage of cloud technology such as auto scaling and load balancing, however, you must avoid the pitfall of assuming these are panaceas to all capacity issues. Scaling into the cloud is not easy, it’s not free, and it does not react instantly. Load balancers can take several minutes to warm up, by which time a crushing spike in traffic will have already done its damage to your site.
More and more retailers are using virtual waiting rooms to control spikes in demand to their websites. The virtual waiting room protects customer experience by diverting visitors away from the site before it gets overwhelmed, allowing customers to queue in a fair and orderly fashion until it is their turn to enter the site.
This means that websites can serve as many customers as their capacity allows without fear of service levels being degraded, no matter what is driving the traffic to the site.