Load Phases and Performance Thresholds
Load Phase Types
A performance test consists of phases that simulate different traffic patterns:
"phases": [
{"duration": 60, "arrivalRate": 5, "name": "Warm up"},
{"duration": 120, "arrivalRate": 20, "name": "Sustained load"},
{"duration": 60, "arrivalRate": 50, "name": "Peak load"},
{"duration": 30, "arrivalRate": 5, "name": "Cool down"}
]
| Phase | Purpose | Typical Config |
|---|---|---|
| Warm up | Gradual ramp to let caches fill, connections pool | 30-60s, low rate |
| Sustained | Steady production-like load | 60-300s, expected traffic |
| Peak | Stress test at maximum expected load | 30-60s, 2-5x normal |
| Spike | Sudden burst to test resilience | 10-30s, 10x normal |
| Cool down | Gradual decrease to observe recovery | 30s, low rate |
Performance Thresholds
Define what "passing" means:
"thresholds": {
"p95ResponseTime": 500,
"p99ResponseTime": 1000,
"errorRate": 1,
"minThroughput": 10
}
| Threshold | Description | Typical Values |
|---|---|---|
p95ResponseTime | 95th percentile response time (ms) | 200-500ms for APIs |
p99ResponseTime | 99th percentile response time (ms) | 500-2000ms |
errorRate | Maximum acceptable error percentage | 0.1-1% |
minThroughput | Minimum requests per second | Depends on capacity |
Quality Gates
Performance acceptance criteria can be defined per application:
PUT /api/performance-criteria/{applicationId}
{
"p95ThresholdMs": 500,
"p99ThresholdMs": 1000,
"maxErrorRatePercent": 1.0,
"zero5xxRequired": true,
"minThroughputRps": 10,
"maxRegressionPercent": 20,
"requireWarmupPhase": true,
"requireSustainedPhase": true,
"requirePeakPhase": true,
"minSustainedDurationSec": 60
}
Each criterion becomes a checklist item (AUTO or MANUAL) that feeds into the readiness score.
Auth is checked before dispatch. If the environment declares auth (a bearer login endpoint) but no credential resolves, the run refuses synchronously with
CREDENTIAL_UNRESOLVEDrather than dispatching a run that fails every request. And a run that errors 100% never reports PASS — even with no thresholds set (NO_SLO_DECLARED,passed: false).
Results
Performance test results include:
- Response time percentiles (P50, P95, P99)
- Throughput (requests per second)
- Error rate (percentage of failed requests)
- Per-endpoint breakdown (which APIs are slowest)
- Comparison with previous runs (regression detection)
From API Test to Performance Test
See From API Test to Load Test — convert any API scenario to a load test with one click.