Today, the Internet is home to some of the biggest businesses. According to market research firm Statistica, in 2016 global eCommerce sales are expected to reach 1.9 trillion U.S dollars. While the traditional brick and mortar store is yet to become redundant, eCommerce websites have a pretty penny riding on their backs. Today, the consumers do not separate online shopping experience from the regular store experience. Thus, we won't be off the mark to say that in an eCommerce business, your eCommerce site is your salesperson, your workhorse who increases value for your customers. With so many eCommerce websites mushrooming all over, you need to make sure your salesperson is the best.
In one of our previous blogs, we had identified some critical elements for building great eCommerce websites. In this blog, we take a look at another critical aspect of an eCommerce website – Load Testing.
Essentially, load testing is a lot like business risk mitigation. It is the measure to see how your eCommerce site will manage website load, identify how quickly product pages will load, see how it will handle traffic spikes and find potential performance bottlenecks. Take the example of Flipkart’s Big Billion Day Sale’s epic failure in 2015. The eCommerce provider announced the mega sale but most of the customers were left disgruntled as stocks were limited, orders got mysteriously cancelled and the website, which was unable to handle the huge surge in visitors, crashed several times. While Flipkart and the Big Billion Sale did trend on Twitter, it was for all the wrong reasons.
Now that we have established the importance of load testing let’s take a deeper dive into understanding it better. During load testing, all performance tests are run simultaneously over a decided period of time to assess how the systems performance. Though load testing is not a very difficult task, it does require some time investment to ensure that businesses don’t lose revenue. After all, a one-second delay in load time can lead to 7% fewer conversions. That would mean a loss of USD $2.5 million per year for a company earning $100,000 per day. Here’s a look at how you can plan load tests.
The first step to load testing begins with understanding what to test. When load testing is being done for an existing website or an existing website is being updated, a good point to start is by looking at web analytics to identify traffic patterns. When load testing a brand new site, traffic analytics can be done by reaching out to a third party traffic source. Some other questions to ask while load testing are:
During load testing, you need to plan for ‘gotchas’ that derail site performance. For this, you need to monitor overall server metrics such as memory utilization, CPU utilization, disk I/O, etc. You also need to tail your load balancer’s access logs. In addition to this, you need to check the application components such as the database, hardware, and network to manage future anticipated load. Monitoring network devices such as routers, firewalls, and load balancers help in identifying network-related problems. During load testing, here is what should be tested:
Once the traffic profiles and behavioural data has been collated, the load tests should be conducted on the basis of how the users interact with the website. The first step is to establish the benchmarks that the eCommerce website should meet to set the test goals and configure test scenarios that represent realistic user activities. Some useful metrics while load testing are:
Once the baseline test has been created, run the test and check for response time, latency time, the number of hits per second and the throughput and the number of errors. Once round one is complete, re-run the test increasing the number of page visitors per duration and also increase the duration of the test load. This will help in identifying memory leaks and unforeseen service or application restarts.
At the offset, load testing seems quite simple to execute but in reality can be slightly complex as testers need to check for all possible variables and optimizations. However, it is a very important component for eCommerce success as any downtime once the site is live can have a negative impact not only on the immediate revenue but also on customer loyalty.