Some performance problems appear only after hours or days of continuous use, such as memory leaks, connection leaks or gradual degradation. Endurance (soak) testing is designed to surface these long-term issues before your users do.
Designing Endurance and Soak Tests
An endurance test runs a moderate, realistic load for an extended periodβoften several hours or overnightβwhile monitoring resource consumption and error rates. The aim is to see whether metrics remain stable or drift in a problematic direction.
Example endurance test:
- Load: 200 concurrent users simulating normal traffic mix
- Duration: 8β24 hours
- Monitored metrics: memory usage, open connections, CPU, error rate, response time percentiles
- Success criteria: no increasing trends in memory or error rate, stable performance
Findings from endurance tests often lead to fixes in resource handling, connection pooling or job scheduling.
Common Mistakes
Mistake 1 β Running only short, intense tests
This misses slow leaks.
β Wrong: Assuming that a 30-minute test is enough to catch all performance issues.
β Correct: Complement shorter tests with occasional long-running soaks.
Mistake 2 β Not collecting enough telemetry
This obscures root causes.
β Wrong: Only checking whether the test completed, without detailed metrics.
β Correct: Record resource usage and application logs throughout the test.