How To Ensure Your Website Handles Black Friday Traffic Without Crashing
Tips for reducing risk and having a successful Black Friday & Cyber Monday
Black Friday and Cyber Monday are arriving and with them, the wave of website visitors frantically attempting to purchase items on their wishlist! But, when too many of these eager shoppers flood your site at the same moment, it just might break, and unfortunately, this is exactly what happens every year even to major retailers like Target and Neiman Marcus.
In this post, we are going to share some tips for ensuring your site’s performance just in time for Black Friday. If you follow them, the site that winds up making major headlines for its technical difficulties on Black Friday (or any day) will not be yours!
Why You Can’t Afford to Skip Performance Testing
Firstly, let’s talk about why performance is relevant to Black Friday and Cyber Monday revenues.
Say you are a big box retailer and I’m a customer trying to purchase a TV that you’re selling for half-off online only to discover that it has already sold out. It would be a bummer for me but, it would be understandable. I lost out to the other online shoppers fair and square who simply beat me to the checkout.
On the other hand, something that wouldn’t be understandable to me would be if, during my transaction, a 503 error appeared on my screen. I would be losing out to you, the site owner, leaving us both worse off. I’d be wondering, “Why is the SITE NOT WORKING? What do I do? How can I fix it? How can I work around this? How many more seconds do I have until the TV is sold out?”
After facing this issue, I’d feel frustrated and significantly less confident in using your site to purchase items in the future. I’d probably even go to a competitor’s site to purchase the same TV.
Moral of the story:
Don’t give your competition the favor of boosting their sales due to your own site’s downtime this Cyber Monday!Click to tweet
To add insult to injury, the bad news of your site performance would travel much faster than if it had been working perfectly. How many times have you seen someone share on social media or in the workplace, a screenshot of an embarrassing glitch, error, or system crash accompanied by a story of outrage and frustration? Many times. Now, how often do you hear about a transaction that went seamlessly, resulting in a “Thank you for choosing us.” message? Almost never.
So as a company, the high-level performance of my website will be a critical factor for the success of my holiday sale for two reasons:
1. I won’t lose sales due to the system crashing at the very moment when thousands of deals could be made.
2. I can avoid the negative impacts on my brand perception of thousands of users having a poor shopping experience and then telling the world about it.
How can you make sure your site wins out on Black Friday without cracking under the pressure of a heavy load?
If you don’t know what the expected load is, you will at least know how many users the site can support with the components you have available at the time of the test.
It may seem obvious that one should run performance tests before putting a website into production that’s destined to have a heavy load. But, the reality is that many companies put their sites into production and then experience many service interruptions and only then start to utilize performance tests. At this point, it’s often already too late, though, as many customers will already have experienced these problems and the company earnings will slow down as the word gets out about the site’s issues.
Tips for Great Black Friday and Cyber Monday Web Performance
Try not to leave performance tests for just a week before going into production or when your site has already suffered problems. Solving this kind of issues takes time, a lot of time! Don’t plan your tests merely as a check, but plan them out with enough time, taking into consideration that you will have to fix any problems you may find.
Read this post about how to make a performance test plan.
Think About Infrastructure
Decide whether you should increase your infrastructure temporarily to prepare for times like these when the expected user load is much larger than it typically is throughout the year. The cloud can make this easier to do, especially for smaller businesses. It’s crucial to be ready and be sure that your scaling configuration is optimal, considering performance and costs.
Be Ready to Find the Breaking Point
It’s advisable to test performance on the infrastructure of your choice or that of production, whichever is the best moment to run them. Just remember that these tests often try to find the breaking point of the system and we don’t want to find it at the same time when a customer is in the middle of a transaction. At Abstracta, we typically run these tests during the late hours and take advantage of having a team of performance engineers in a different time zone. A four or five-hour difference (like that of our testers in Uruguay and our clients in California) is usually more than enough.
Since Black Friday begins in a few weeks, you probably do not have time to test all the functionalities of your system, so you’ll have to choose the functionality or functionalities that you think will be most visited, like links to articles or the product checkout. If you don’t know which of your pages are most visited, you can check your Google Analytics or access logs.
Set Up Monitoring
Monitor all components of your infrastructure, any of which may become a bottleneck as well as the database. Top SQL transactions should also be under control.
Try to run loads that are realistic for your business. Testing too small of a load will not leave you well prepared for the actual Black Friday load while executing an extremely ambitious scenario might leave you needlessly oversizing your infrastructure to avoid a crash when in fact, you don’t need to be THAT prepared.
There are many tools and methods for load test automation, execution and analysis on the market that are great for getting your site ready for Black Friday. For an extensive list, check out our article: 14 Best Performance Testing Tools and APM Solutions. For now, I’ll just focus on a few of our favorites.
For the automation stage, we recommend JMeter, a very widely known open source tool. If you don’t already know how to use it, I highly recommend our certification (I may be biased as I am one of the instructors, but really, check it out!). JMeter is easy to learn, easy to use, multi-platform and most importantly, free.
With JMeter, we can run hundreds of users from a single PC, but if you’re looking to scale to thousands of users, we recommend using BlazeMeter. BlazeMeter is 100% compatible with JMeter and saves you from having to deal with the scalability problems that JMeter could have while simplifying all the setup, configuration, management and reporting.
Finally, for performance monitoring, we recommend New Relic, a tool with very little configuration that provides performance indicators throughout your system in an understandable and centralized manner. What’s great is that it is easy to integrate with BlazeMeter. In each execution, not only does it know the test data (response time, error rate, percentiles etc), but it provides infrastructure performance indicators that you can easily share with the rest of your company in the same report if you wish. Best of all, it only takes a single click.
After reading this post and implementing these tips, you should have no more excuses for your site not to shine on Black Friday. When the day comes, you won’t have to sit around nervously watching your server and waiting to be there in case you have to restart it. You might even be able to enjoy Black Friday yourself and go out and buy what you want!
Recommended for You
Transitioning to CI/CD? This white paper is for you:
Read the Ultimate Guide to Continuous Testing
- Abstracta Turns 12!
- Quality Sense Podcast: Leandro Melendez “Señor Performo” – Performance Testing Explained Simple
- 16 Best Software Testing Podcasts in 2020
- Quality Sense Podcast: Michael Bolton – Software Testing and Automation
- Webinar: End-to-End Mobile Performance Testing with Apptim and BlazeMeter