Testing 1 million eCommerce orders per hour
Ok, let's talk numbers. 1 million eCommerce orders per hour is a nice round number. We tested the Crystallize eCommerce API to see how it handles this ridiculous amount of concurrent orders. TLDR; we confirmed that our architecture scales and easily handles peak traffic at a rate of 285 orders per second resulting in 1 026 000 orders per hour. That is Black Friday ready 😎
Black Friday ready eCommerce order intake
eCommerce trends show that more brands are doing limited runs and using scarcity to make customers buy their products for a limited period. Typically this is hyped brands like Off-White or the makeup collection of Jeffree Star. This together with sales like Black Friday we have seen many webshops being brought down and companies resulting in creating online queues as they cannot handle the load. But Black Friday should not mean waiting in line. We shop online not to wait in line, more efficient and a better customer experience.
You want to ensure that your webshop can handle the load so we decided to verify that a Crystallize tenant is able to tackle peak traffic of 1 million orders per hour (actually 1 026 000). This translates to 285 orders processed per second. Per second 🤯
Shipping 1 million packages is of course a different topic, but you can rest assured that your Crystallize eCommerce service can handle the throughput. Of course you can sell virtual products like access to a streaming service, in-game purchases or buying access to a newspaper. In this scenario you use the fulfilment pipelines in Crystallize to automatically fulfil the order by using event driven eCommerce with webhooks.
We used the k6.io load testing service to generate random orders and scaled it up to the desired throughput. You can see the results below. On average each order is placed in 179 milliseconds with a peak concurrent throughput of 285 orders per second.