Is Your Website Robust Enough to Deal with High Traffic Demands?
4th May 2020
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
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)
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.