UX Design Part 1: Designing human centred experiences to delight customers
Posted by Ana Petreska - 07 March 2016
Would you know the answer if someone asked you how many visitors your website can handle? How quickly can this number grow before it cripples your site? What about the average page response time during a normal business day versus when it’s under load?
If we are honest with ourselves, most of us wouldn’t have a clue what the limitations of our websites are. It often takes a sitewide business disaster to occur before we take time to dig deeper into the numbers that matter. Leaving it to this late stage could lose you valuable business and damage your reputation.
It’s great that your site performs fine with your typical visitor count. But what happens when your website gets an influx of visitors because your next marketing campaign goes viral, or Oprah happens to mention your company (the ‘Oprah effect’) - does your website slow down under the load or crash altogether?
Although increased traffic is what we all want for our business website, what we don’t want is for the site to choke under the pressure and become unusable. Prospective leads will navigate away from your website in frustration due to the negative initial user experience. It’s the peak loads that you need to consider.
Like most things in life, there is no black and white answer. The answer depends on a variety of factors and to start, you need to establish a realistic baseline. For example an international billion dollar company can expect to have thousands of visitors to their site per day. Alternatively, a small primary school website with only 100 students should only expect to have a handful of visitors per day. At the very least, you should load test your site to ensure it can handle the baseline load with quick response times.
The next step would be to load test for the potential spikes in visitors. Often the spike volumes can be difficult to predict. If you can’t predict the potential spikes in traffic, find out what the maximum load is that your site can handle, and then decide if you’re happy with that figure. Load test to identify the number of concurrent visitors that will cause response times to fall beyond 10 seconds (10 secs is still not a great experience, so decide what response time is acceptable under peak load). At this point, you have established your maximum number of concurrent visitors. Based on this figure you can either aim for better by optimising the bottlenecks of your site, or sit back, relax and sleep peacefully knowing that your site will be just fine when your next marketing campaign goes viral.
If you’re running a load test within your network, you’re ignoring your external network so ideally a load test should be run externally if that’s how the website is to be used. Also, hitting a single page repeatedly for 30 seconds is not the same as testing real visitor scenarios over time. Test from where the visitors are, e.g. if your visitor base is in the US, run the load test from a US location.
A Denial of Service attack is an attempt to exhaust server resources by flooding a site with fake requests, essentially bringing the webserver down. To a web server or firewall your load testing will look pretty similar to a DOS attack, which is fine, but just remember that as a DOS attack is designed to take down your web server, a poorly managed load test can do the same.
Without load testing your site, it’s difficult to be confident that it can handle an increase in visitor traffic. Load testing at the start of a new site build can help identify any bottlenecks before they get out to the public. Building a site for scalability and stability is difficult to achieve without some benchmark indicators of performance from load and stress testing. Load testing is also a great way to identify potential memory leaks before they become burdens on the website and server.
So ask yourself the simple question - do you know your numbers? If the answer is unclear perhaps it’s time to take a look at some load testing tools. Do yourself a favour and mitigate risk before it causes your business unnecessary pain.