As the peak seasons approach, every online retailer worries about the impact of the expected spike in traffic on their e-commerce and fulfillment systems, particularly as the COVID-19 pandemic has already caused a spike in online shopping vs. in-store, and peak holiday shopping season will only exacerbate that. 

Here are 5 tips that retailers should consider as they prepare for the upcoming peak season:

1. Manage the load: beware of database locking, contention or system stability issues

Your team must proactively address and resolve resource contention or stability issues ahead of time because these issues will be more prevalent and will have much more disastrous consequences during high transaction volumes. The usual tactic to automatically kill transactions to resolve a hang or to restart the application during a hang will not work at high volumes. In some cases, killing transactions could cause data loss issues.

Yantriks’ (now Blue Yonder) Performance Engineering experts have a wealth of experience diagnosing and troubleshooting system stability issues. Yantriks (now Blue Yonder) can conduct tailored performance audits and make recommendations on how to address the core issues.

2. Prepare with realistic performance testing

While it is highly recommended that performance testing be conducted during regular times to see if the system can cope with the volumes and load during the peak, many companies spin up performance tests that do not simulate real workloads during the peak.  This ends up providing a picture that is either unduly optimistic or sometimes overly pessimistic.  Both have consequences. If optimistic, the tendency is to leave things as is and then be confronted with the issues during peak.  If pessimistic, then companies over-invest in hardware and bandwidth.

Yantriks’ (now Blue Yonder) performance engineers are not only experts at their craft, but they also know the order management domain and have experience working with numerous retailers and manufacturers helping them prepare and navigate through these peaks. Thus, they can set up the right representative data for the tests and  provide a very effective and reliable outcome.

3. Proactively address potential degradation due to integrations with external systems

An Order Management System (OMS) is required to orchestrate calls to other systems and services, such as a fraud check.  Often, a failure or slowness in an external system can cascade back into your fulfillment systems. Unless your system is designed to be monitored and to react to these situations, you incur the risk of running into catastrophic issues.

If such degradation occurs, then you need a circuit breaker to address this brownout or blackout and allow the OMS to resume normal functions.  In the days leading up to the peak, the product team needs to assess each integration point and then determine a means to address potential issues with each.

We facilitate this by deploying a tool to capture meaningful data, track response time and mitigate degradation.

4. Put in place proactive monitoring capabilities to address issues before they occur

During a performance test, the performance management team should use the same tools available in production.  It is also imperative that the team can monitor the functioning of the OMS without requiring an army of PhDs.

Blue Yonder helps by applying its domain expertise and technical excellence to put in place excellent monitoring tools to observe the health of the system.  In addition, Yantriks (now Blue Yonder) provides tested and proven procedures that can handle any issues that may arise.

5. Implement comprehensive testing that includes Chaos Monkey Testing

Too often, performance tests focus on the Happy Path.

Run a test and get results. Tweak the performance test a bit and rerun them until you get results that are acceptable to meet a pass/fail gate.  Are  you just running tests to satisfy engineering’s desire to release the application, even if not sufficiently tested?

Our performance test method and approach go beyond load testing, including injecting in failures into application or system components to see if applications can react and recover gracefully.  

BONUS — Functional testing under Load Tests

It is not enough that the system is fast, you also have to ensure the system is correct under load.

Unfortunately, most customers do not check the quality of the system after a performance load test. In many cases, tests have high percentages of uncompleted transactions, transactions in error, or worse, there could be missing transactions or updates.

Our performance test method includes functional checks into performance load tests. Catching these issues in performance testing mitigates downstream risks which invariably would manifest themselves at the most inopportune of times. For more information, visit www.yantriks.com or write to us at info@yantriks.com