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.txtreturning 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 |