The holiday season is fast approaching, and for many eCommerce businesses, that means higher traffic to websites and mobile applications. Optimizing sites to handle peak traffic times is critical. In fact, a study by Portent found that a site that loads in one second has a 2.5x higher conversion rate than a site that loads in five seconds, meaning the potential for revenue growth—or loss—based on load times (or even worse, a crashed application) is significant.
Here’s what development teams can do now to prepare infrastructure for the holiday season and give their growing businesses the best chance of success.
Not everyone who comes to the site is going to view the homepage. In order to best simulate possible scenarios, you need to understand what your peak workloads are at any given time and where the traffic is distributed at those times. Look at web logs (from your edge services) for certain times of the day to determine when your peak commerce hours are and compare that to what the load is during other parts of the day. Figure out what the traffic mix looks like at peak periods and identify patterns and conversion rates along with the traffic distribution breakdown of the site.
For example, assume your website has the following pages:
If you identify that peak hours for you are between 9-10 a.m., meaning that’s when the most page views happen for you in a given day, then you’ll want to map out the % of page views per page:
70% → /homepage
20% → /dealpage
2% → /about
28% → /support
You can identify similar patterns for API calls as well. The process is no different, but your sources may be different depending on how you log web vs. API traffic. When you’re ready to test, you’ll want to leverage this data to help you implement a synthetic load test that can exercise your website with a pattern that’s representative of your production traffic.
When you have a good idea of traffic patterns and distribution, run some tests. Take snapshots throughout the day and analyze the performance of your systems powering your runtime. Simulate what a customer is likely going to do with the traffic distribution you’ve collected and ratchet up the volume of requests steadily. Teams should work to find out where the breakpoints and bottlenecks are within the full stack with the load tests. When your team finds bottlenecks or breakpoints, prioritize fixes based on the effect they have on the end user. If you have timeouts for 1% of traffic, that’s a lower priority than something that will impact a more significant amount of customers. This step will be repeated multiple times until you’re at a point where you’re OK with the known limitations at a scale that’s going to satisfy your holiday season needs. Don’t forget to let your ops teams know you’re about to flood your systems too. They’ll appreciate the heads-up!
It’s one thing to know you’ll have increased traffic during the holiday season, but it’s another thing entirely to know how much. If you have a marketing team, find out what campaigns they’re running for the holiday season and what they anticipate traffic to be based on those campaigns. If there aren’t specific campaigns to prepare for, pull data from the previous year as a benchmark. Size up based on potential demand, factoring in normal daily traffic as well. If you aren’t sure what the anticipated load will be, it’s best to be prepared for 5-6x normal peak times. Bring that new capacity plan to your leadership teams to review and be on the same page regarding what works for you (whether it should be more or less).
From there, it’s a matter of scale. Ensure you’re modeling as close to production as possible, and then continue to scale while making sure nothing breaks. Don’t wait until the last minute to add new servers. Set up your infrastructure to handle peak loads and let it sit. Keep testing it throughout the week, running tests every few days until about a week before the first anticipated traffic increase. One week out, monitor changes in production. Be wary of any last-minute changes that will change the capacity profile.
Identify the pain points in your architecture and build redundancy into your stack. Find out where you can implement circuit breakers that prevent failures from taking down your entire application or site. Build monitors for the high-traffic season (or the day of a special deal) to keep track of trigger points that were recognized as potential problems through the previous testing.
For details on how to prepare your infrastructure for large traffic spikes and how to balance speed, security, and scalability to increase profits, check out this tech talk with Austin Black, Solutions Engineer at DigitalOcean, and Roxana Ciobanu, Chief Technical Officer at Bunnyshell.
DigitalOcean has many solutions for growing eCommerce businesses. Tools like DigitalOcean Uptime can give your team added confidence during this holiday season, and our support team is always ready to help. From Droplet virtual machines to App Platform, our Platform as a Service offering, Managed Kubernetes, and Load Banacers, we provide the tools you need to build and grow your applications. To sign up for a DigitalOcean account, contact sales.