Load testing

A load test should evaluate the integration with the fulfillmenttools platform under regular expected traffic and peak loads. fulfillmenttools suggests performing a load test before going live with the integration.

Load test types

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

Regular traffic scenarios: The simulation models typical daily traffic, excluding promotions, and represents the steady state.

High-traffic scenarios: A high-traffic scenario includes simulating sudden traffic peaks, such as the launch of a TV campaign that is expected to increase traffic by 30%.

Define load test scenario

First, define the load test use case. Write down the traffic goals, use cases, and endpoints under test. Next, the load test scripts (e.g., using k6 load testing or siege) are created to simulate real traffic. It is essential to be as realistic as possible. Mimik, actual users visiting PDP pages, creating orders, fulfilling orders via headless order fulfillment, etc.

How to conduct the load test

Prepare the system: All required data, e.g., facilities, listings, stocks, etc., should be available on the system before starting the load test. The base for the load test.

Use these scripts to conduct the load tests. To reduce network overhead, the load test should be executed from a machine near your 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 always be executed in two phases:

Phase 1 - ramp up

In this phase, slowly ramp up the traffic over 20 minutes to make the fulfillmenttools platform scale up and be ready for the load test.

Phase 2 - load test

Record the results and conduct the load test with the previously defined traffic for 30 minutes.

Afterward, clean the system and delete all data created during the load test.

Do not start the first load test with the final traffic goal. First, start with a small traffic goal and slowly increase the load in later executed load tests.

Target Environment

Typically, a customer has a test (functional pre) and a production system (see performance on test vs. production systems). fulfillmenttools does not support load tests on these functional pre-environments. Nevertheless, a load test pre-environment can be ordered via the contact form. Furthermore, production environments can be load-tested with real customer traffic before going live. Clean up the data after the load test to ensure a clean system for the go-live.

Fair Use Policy and Rules for Load Tests

Do not attempt to crash the fulfillmenttools platform with a load test. Load tests should always target expected traffic. It is forbidden to conduct load tests with sudden request spikes (e.g., from 0 req/sec to directly 1000 req/sec). It is essential to conduct a Ramp-up phase before the load test. Generally, fulfillmenttools allow one high-traffic scenario and one regular steady performance test per working day. Additional load tests may be performed before the launch. Contact fulfillmenttools via the contact form to discuss this process.

Last updated