Skip to content

Staged ramp profile

Problem: A single ramp-up to a peak VU count does not tell you much about capacity boundaries. A staged ramp lets you hold at each level long enough to see whether the system has stabilised, then push to the next level — making the breaking point (if any) clearly visible in the charts.

Test type: Stress test or Load test.

Taurus supports staged ramps via the stages property in the execution block:

execution:
- scenario: checkout
stages:
# Warm-up: reach 50 VUs over 3 minutes
- duration: 3m
target: 50
# Sustain: hold 50 VUs for 10 minutes
- duration: 10m
target: 50
# Step up: ramp to 150 VUs over 5 minutes
- duration: 5m
target: 150
# Hold: sustain 150 VUs for 10 minutes
- duration: 10m
target: 150
# Peak: push to 300 VUs over 5 minutes
- duration: 5m
target: 300
# Hold peak
- duration: 10m
target: 300
# Cool-down
- duration: 3m
target: 0
scenarios:
checkout:
requests:
- label: POST /checkout
url: https://api.example.com/checkout
method: POST
headers:
Content-Type: application/json
Authorization: Bearer ${API_TOKEN}
body: '{"cart_id": "cart-test-01"}'
  1. Go to Tests → New test in the MaxoPerf console.
  2. Upload the YAML as the entrypoint under the Files tab.
  3. Bind API_TOKEN under Settings → Secrets.
  4. Click Run now.

As each stage progresses, watch:

  • VU count — confirm it tracks the target at each stage boundary.
  • p95 latency — does it stabilise at each hold level, or does it continue to climb?
  • Error rate — any non-zero errors that appear during a hold level indicate capacity pressure at that load.
  • Throughput (RPS) — a healthy system shows throughput proportional to VU count. A plateau in RPS while VUs keep climbing is a sign of saturation.

If you see the system degrading before the planned peak, you can change the run’s VU ceiling live:

  1. In the run overview, open the Live controls panel.
  2. Change the VU count target to hold at the current level longer before pushing further.
  3. Confirm. The stage profile continues from the current point — there is no restart.
  • The VU chart in the run overview shows a clear step pattern — flat plateaus separated by visible ramps.
  • Latency at the 50 VU plateau is lower than at the 150 VU plateau (if the system is healthy, the difference is small; if it is near capacity, the difference is large).
  • The run status is Finished, not Failed (unless you set failure criteria, which is expected — see Failure criteria pass/fail gates).
  • RPS-based stages: replace VU targets with throughput targets in each stage for an open-model stepped test.
  • More stages: add finer-grained intermediate steps (e.g., 50 → 100 → 150 → 200 → 250) to pinpoint the exact degradation threshold.
  • Overnight soak at the stable level: once you know the stable VU count, run it for 8–12 hours — see Overnight soak test.
  • Spike after sustain: add a brief spike stage between two hold stages to test burst resilience — see Spike and recover.