Posted on

Load Testing WooCommerce Orders

In this video I demonstrate a basic load test of WooCommerce orders using the ReST API and artillery.io

I ran this test against a nano sized development server at Linode set-up with Ubuntu 18.04.1 LTS running PHP v7.2 (fpm), NginX v1.14, MariaDB v10.1 and PHP-Redis v4. See server set-up instructions.

Test resulted with a 100% success rate for 159 orders over 30 seconds, ramping up from 1 virtual user per second to 10. Median response rate was 9.69 seconds.

This load test was low-medium scale. I recommend starting slowly about 1 virtual user per second for 10 seconds, then stepping up to higher load levels as each proves successful.

Never load test on a live site, and always be prepared to clean-up test data that gets generated. Also, be mindful of emails or any integrations that your store may have so you don’t overwhelm those services.

Beyond this basic load test, the next step up will be a more synthetic load test utilizing JavaScript and placing test mode credit card purchases with a real or simulated browser environments. Running the test from multiple nodes in multiple locations is another goal.

It’s a great idea to have New Relic APM running on the server being tested so you can uncover any performance bottlenecks related to your plugins or data.

Pro tip: Pantheon.io bundles New Relic APM for all Performance hosting plans starting at $125/mo.

Contact Sean