Paul Saffery - IT Director

Paul Saffery

4th May 2020

Is Your Website Robust Enough to Deal with High Traffic Demands?

With the current Covid-19 lockdown in place in many parts of the world, companies selling online, offering social networking or video streaming have seen their website traffic soaring. The situation becomes even more evident when companies offer special deals like Cyber Monday or Black Friday - hopefully the lockdown will be over by then! More so, the current lockdown will most likely result in a cultural shift to online shopping, especially with the older generation.

A relentless increase in traffic will eventually cause a slowdown on your website or it could even become unresponsive. Most of us have experienced this frustration from the user’s end. From the company’s end it will most likely result in lost conversions (sales, quotes, signups, contacts, simulations, etc), let alone the damage it could do to your brand. This article presents some ideas on how to prepare your website for high demand peaks.

As traffic increases, every website infrastructure will reach a limit at which its performance will start degrading. Your job is to find out where that limit is and then optimise your systems to increase that limit.

Focus on pages that form part of your conversion funnel

These are the pages you should focus on. Typically online advertising landing pages and the subsequent conversion funnel are among them. You could cross-check this list of pages with traffic analysis to identify the pages that receive the highest traffic. A bounce or no-show due to website poor performance will result in a lost conversion, let alone brand and website reputation, plus the wasted click spend in the case of paid advertising. Slow websites will also affect your search engine organic ranking.

Fast websites allow more users through per unit of time

With the Coronavirus outbreak, most of us have been to supermarkets where you are encouraged to shop quickly to reduce the wait for users queueing outside. The same effect applies to your online shop. The quicker you can get users to complete their transactions, the more throughput you will be able to get into your shop during a set period of time.

Profile your website while traffic is low

This will show your baseline performance. Do your homework while the traffic is low and remove the bottlenecks. There are plenty of resources and free online tools that will allow you to profile your website to identify where these are - for example Chrome’s Dev Tools. If your website has an underlying database from which pages are assembled dynamically, chances are that the bottlenecks in low traffic times will be at the presentation tier rather than the database, i.e. retrieving files from the server (HTML, CSS, Javascript, images, etc), and rendering them.This is especially the case if these files are retrieved from third party servers that might be responding slowly, causing a bottleneck that is beyond your control. Third party files are typical when the website uses services like chat, star rating, tracking, advertising, etc. There are a number of techniques that can be used to mitigate this issue. In high traffic situations, chances are that the bottlenecks shift to the web server and the database (if there is one) - keep reading to find out more.

Profile your website by simulating high traffic

Once you have removed low-traffic bottlenecks, focus on high-traffic bottlenecks. To do this, you should ideally use a staging (test) server with a hardware and software spec identical to your live server (we are assuming here that your live server is dedicated solely at hosting your website). If this proves difficult, use your live server at a quiet time of the day, for example late at night (assuming most of your traffic comes from your own time zone). There are several tools that can simulate traffic to your website. For example, k6. While the test is running, inspect your web server and database performance.

User psychology to manage visitors’ expectations

When you call a helpdesk you may be told “all our agents are currently busy, your call is important to us - we appreciate your patience”, then you wait 45 minutes until you finally get served - if you can bear the wait! A similar situation occurs when you are stuck in a traffic jam and wonder how long you will be there for. You feel much more relieved if you are told you are number 5 in the queue and will have to wait around twelve minutes to be served, and the system keeps informing your position and expected wait time in the queue. When it comes to traffic jams, nowadays we have GPS apps that can tell us how long we will be stuck in traffic for and what the cause is.

Similarly, some websites, at peak times, allow a limited number of concurrent users, and ask the rest to wait for a user to leave before the queue moves, plus they inform the user of their current position in the queue. This technique at least can guarantee users a good experience once they are admitted into the website. There are software solutions that can manage a queue for you, for example Queue-it Virtual Waiting Room.

You could use that waiting time as an opportunity to promote your brand, show the user a slideshow of special offers or embed a branded game to keep them entertained on your website while they wait. Whatever you use, you should make sure it does not impose increased stress on your servers.

Additionally, by analysing user behaviour, you could inform your users at what times of the day the website experiences less visits, and encourage them to come back at those times.

How to cope with sudden increases in traffic

This section explains a number of technologies and services you could use to speed up your website and absorb traffic peaks. You can even combine some of these technologies.

1. Use cloud hosting

Many cloud hosting services offer mechanisms to auto-adjust the resources made available to your website every time it experiences a traffic peak. With some providers, You can even customise the policies that trigger the resource boost. For example Amazon’s EC2 Auto-scaling offers Scaling Policies. Additionally some protect you from DDoS attacks, which is a malicious attack on your website that overwhelms your website with traffic. If your website relies on a database, for auto-scaling to work it must be designed with a multi-tier architecture, where the database sits in a separate layer.

2. Use server-side caching

A server-side cache is a piece of software that sits between your server and your end user. When users visit a web page, they trigger a request to your server(s). Your cache server intercepts the request, searches its storage and if it finds the requested resource it delivers it to your user without using server resources. There are a number of technologies, some of which are free, for example, Memcached (RAM-based) and Varnish.

3. Use dedicated technology for website internal searches

Websites that rely heavily on internal searches, whether it is free-text or faceted search, usually benefit from using dedicated search indexing provided by technologies such as Solr or Sphinx. These techniques can relieve the load on your website database significantly.

4. Use a Content Distribution Network (CDN)

A content distribution network is a cluster of servers usually distributed around the world. Originally the intent was to make content readily and efficiently available regardless of your geographic location. Your website’s infrastructure sits behind this CDN. They are especially relevant for static content (HTML, Javascript, CSS, images, videos, etc), as opposed to dynamic content that gets assembled based on a user’s unique interaction with your website, for example when they add their preferred products to their shopping basket. The content is cached (saved) in the CDN’s servers and delivered from these instead of your server(s), freeing up valuable resources. Having said this, nowadays CDNs can host and run scripts that will deliver the dynamic content as well.

By addressing bottlenecks, focusing on your most important pages, keeping customers informed of any wait times, and acting early to accommodate traffic increases, you can ensure your website is prepared for high traffic volumes and minimise the risk of losing sales. If you’d like help with this or any other web development issue, we’ll be happy to hear from you. Contact us online and let us know how we can help.

Free eBook For Online Retailers

Download our Navigating the Biggest Challenges for Online Retailers eBook now for insights into AI and Machine Learning, Personalisation, Automation, Voice Search, Big Data and more.

Download eBook
x

Like What You've Read?

Subscribe to our monthly newsletter to receive our latest blog posts and our take on the latest online marketing news