Load testing

A load test evaluates the integration with the fulfillmenttools platform under regular expected traffic and peak loads. It is a recommended practice to perform a load test before the integration goes live.

Load test types

Two types of load tests exist: regular traffic and high-traffic scenarios.

Regular traffic scenarios model typical daily traffic, excluding promotions, and represent the steady state of the system.

High-traffic scenarios simulate sudden traffic peaks, such as the launch of a television campaign that is expected to increase traffic by 30%.

Define the load test scenario

First, define the use case for the load test by documenting the traffic goals, user scenarios, and API endpoints under test. Next, create scripts with a load-testing tool (e.g., k6 or Siege) to simulate realistic traffic.

The simulation must be as realistic as possible. Mimic actual user behavior, such as visiting Product Detail Pages (PDPs), creating orders, and fulfilling orders via headless order fulfillment.

How to conduct the load test

Prepare the system by ensuring all required data, such as facilities, listings, and stocks, is available in the system before the test begins. This data serves as the baseline for the load test.

To reduce network overhead, execute the load test from a machine located in a cloud region near the fulfillmenttools instance deployment (see available regions). For optimal results, execute load tests from a cloud provider machine instead of a local machine.

Each load test must be executed in two phases:

  1. Ramp Up Slowly increase the traffic over a 20-minute period. This allows the fulfillmenttools platform to scale up and prepare for the full load.

  2. Load Test Conduct the load test with the predefined traffic for 30 minutes while recording the results.

After the test concludes, clean the system by deleting all data created during the load test.

Do not begin the first load test with the final traffic goal. Start with a small traffic goal and incrementally increase the load in subsequent tests.

Target environment

A typical setup includes a test environment and a production environment (see performance on test vs. production systems). fulfillmenttools does not support load tests on standard test environments. However, a dedicated pre-environment for load testing can be ordered via the contact form.

It is also possible to load-test production environments with real traffic before the go-live event. Ensure all test data is cleaned up afterward to provide a clean system for the go-live.

Fair use policy and rules for load tests

Load tests must target expected traffic volumes. Do not attempt to crash the fulfillmenttools platform.

Do not conduct load tests with sudden request spikes, such as increasing traffic from zero to 1,000 requests per second (req/sec) instantly. A ramp-up phase is a mandatory prerequisite for all load tests.

As a general rule, one high-traffic scenario and one regular steady performance test may be performed per working day. To arrange additional tests before a launch, contact fulfillmenttools via the contact form to discuss the process.

Last updated