Breakpoint / capacity test
A breakpoint test (also called a capacity test) is a methodical, step-by-step ramp that continues until the system breaks — either through unacceptable latency, rising errors, or complete failure. Unlike a stress test (which uses a smooth ramp), a breakpoint test uses discrete, held stages so the system stabilises at each level before the next step is applied.
Before you start
Section titled “Before you start”- Your system passes a load test at expected peak.
- You have explicit authorisation to push the target to failure. Alert ops and stakeholders before starting.
- Run against an isolated staging environment — not production.
What is a breakpoint test?
Section titled “What is a breakpoint test?”A breakpoint test increases load in fixed stages — for example, 100 VUs → 200 VUs → 400 VUs → 800 VUs — with a hold period at each stage (5–10 min) to let the system reach a new steady state. The test continues until:
- Latency crosses your hard SLO threshold (e.g., p95 > 2 s), or
- Error rate rises above your failure budget (e.g., > 2 %), or
- The system becomes unreachable.
The VU count at the last stable stage is your capacity ceiling. The stage where failure begins is the breakpoint.
This information drives capacity planning: if your ceiling is 800 VUs and your peak traffic demand is expected to be 600 VUs, you have a 33 % headroom margin. If the ceiling is 450 VUs against a 600 VU demand, you need to scale out before the next traffic event.
How to run a breakpoint test in MaxoPerf
Section titled “How to run a breakpoint test in MaxoPerf”Load profile
Section titled “Load profile”| Parameter | Value |
|---|---|
| Stage steps | 2× each step (100 → 200 → 400 → 800) |
| Hold per stage | 5–10 min |
| Total duration | 4–6 stages × hold time |
| Stop mode | Duration (or manual when failure observed) |
| Locations | Single location for isolation |
Console walk-through
Section titled “Console walk-through”Use a Taurus YAML with explicit concurrency stages:
execution: - executor: jmeter concurrency: - const: 100 duration: 8m - const: 200 duration: 8m - const: 400 duration: 8m - const: 800 duration: 8m scenario: capacity-check
scenarios: capacity-check: requests: - url: https://api.staging.example.com/v1/products label: list-products - url: https://api.staging.example.com/v1/checkout label: checkout method: POST body: '{"cartId":"cart-{{__Random(1,1000)}}"}'- Upload the YAML and set Duration to cover all stages (
32mfor four 8-minute stages). - Set a Failure criteria — for example, error rate > 5 % — so the run is
automatically marked
failedat the breakpoint. This creates a clean record of when the ceiling was hit. - Start the run and monitor the Overview tab live. The step pattern will be visible in the throughput and latency charts.
How to read the result
Section titled “How to read the result”Open the Overview tab:
- Throughput (RPS) — should increase at each stage. If throughput plateaus or falls while VUs continue to climb, the system has hit a queue or resource ceiling.
- p95 latency — watch for the stage where p95 climbs significantly and does not recover during the hold period. That is the breakpoint stage.
- Error rate — the stage where error rate first rises above zero is usually the true breakpoint, even if latency is still acceptable.
Record the VU count of the last stable stage as your verified capacity ceiling. Share this number with your infrastructure and product teams for capacity planning.
Do / don’t
Section titled “Do / don’t”| Do | Don’t |
|---|---|
| Hold each stage long enough to reach steady state (≥ 5 min) | Ramp continuously — you lose the ability to identify stable stages |
| Double VU count per stage for logarithmic coverage | Use very small steps (e.g., +10 VUs) — it takes too long |
| Set failure criteria to auto-record the breakpoint | Manually watch the run hoping to catch the exact failure moment |
| Document the ceiling VU count for capacity planning | Run a breakpoint test right before a production event |
| Run on an isolated environment | Run on a shared staging environment with other tests in progress |
Where to go next
Section titled “Where to go next”- Scalability test — validate that scaling the infrastructure shifts the ceiling upward.
- Stress test — a faster, smooth-ramp version for quick ceiling estimation.
- Foundations: How much load do you need? — size your ceiling target correctly before the test.
- Cookbook: Staged ramp profile — a reusable multi-stage load profile recipe.