Why do e-commerce players need to prepare ahead?
One of the fundamental aspects of e-commerce, and retail in general, is that every project and initiative, revolves around the holiday shopping season. According to online site Statista.com, the holiday revenue from e-commerce sales has been increasing steadily over the last few years, and is expected to top $80B in the US. (Statista, 2015). Further, according to a recent survey by the US Census Bureau, the percentage of e-commerce sales as compared to overall sales has been steadily increasing in the retail sector and this ratio is expected to favor e-commerce even more, given the trends from the last 10 years (DeNale, Liu, & Weidenhamer, 2015).
In this series of my blog posts, I will outline various aspects of an e-commerce site that need to be analyzed and tuned, to get ready for the upcoming holiday rush.
What’s a good starting point?
From a personal experience standpoint, I have found that the best point to start is to look at historical data and trends. Data from the last few years is a key to determining target metrics for the upcoming season (with a reasonable interpolation). For example, if your peak day in 2014 was $20M, and business forecasts a 10% growth for the upcoming season, it is very likely that you will have to handle a $22M day during this season. Given the somewhat unpredictable behavior of online shoppers, and the reactive nature of e-commerce systems in general, it would be a safe bet that your systems be able to handle at least a $25M day (if not more).
The next key component is designing repeatable, and highly configurable performance tests that can stress key components and typical workflows in your application. The amount of user traffic, the distribution of orders, etc. will be based on the forecasts, and site metrics gathered over the last two to three years. Several other aspects need to be considered and decided upon:
- Is the environment for performance testing equivalent to production? If not, what is the weakest link as a percentage of production?
- Is content caching available in the environment?
- Are external integrations available? If yes, at what capacity do they operate?
There are additional factors that need to be accounted for tool / test platform selection. If you are testing through a content delivery network (CDN) such as Akamai, you will have to go through approved testing partners, e.g. Soasta or Keynote. Testing against your internal servers directly can be done using various tools such as JMeter or Neoload.
Last, but not the least, any firewall rules, or security restrictions against load testing need to be evaluated so that they can be bypassed during the load test (wouldn’t be fun to have every request end with a HTTP/403, right?)
In the next post, I will outline how to get started with looking at the hardware and software stack that powers your site.
DeNale, R., Liu, X., & Weidenhamer, D. (2015, 08 17). Quarterly Retail E-Commerce Sales – 2nd Quarter 2015. Retrieved 08 22, 2015, from US Census Bureau: http://www.census.gov/retail/mrts/www/data/pdf/ec_current.pdf
Statista. (2015, 03 01). U.S. retail e-commerce holiday season sales from 2007 to 2015. Retrieved 08 22, 2015, from Statista.com: http://www.statista.com/statistics/241945/us-retail-e-commerce-holiday-season-revenue/