Load tests

Profiles

Load profiles live in api-tests/stresseur.load.yaml:

version: 1
profiles:
  - name: load
    flows: { storefront-browse: 70, admin-catalog-crud: 30 }
    executor: ramping-vus
    stages:
      - { duration: 1m, target: 200 }
      - { duration: 3m, target: 200 }
      - { duration: 30s, target: 0 }
    think_time: { min: 1s, max: 3s }
    thresholds:
      p95: 300ms
      errors: 1%
      steps: { Checkout: { p95: 500ms } }
    abort: { errors: 20%, window: 30s }

Executors: constant-vus, ramping-vus, constant-arrival-rate, ramping-arrival-rate. Without a file you get Smoke, Load, Stress, Spike, Soak and Breakpoint.

Environments

Add an environment on the repository’s Environments page: staging, or a pull request preview whose URL contains {number}. Secrets are stored encrypted.

Verify the domain

Load goes only to verified domains. Either:

  • a TXT record stresseur-verify=<token> at _stresseur.<domain>, or
  • https://<domain>/.well-known/stresseur-verify.txt returning the token.

Run

Pick a flow, a profile and regions (Frankfurt, Virginia, San Jose, Singapore) under Load tests. Results stream live.

Limits

Plan VUs Duration Regions At once VUh a month
Free 50 10 min 1 1 50
Team 1,000 1 h all 1 5,000