Performance testing defined
Performance testing evaluates how a system behaves under workload. It looks beyond whether a transaction succeeds to how quickly, consistently, and efficiently it succeeds.
Core measures
| Measure | Meaning |
|---|---|
| Response time | How long a request or transaction takes. |
| Throughput | Amount of work completed per period. |
| Concurrency | Simultaneous active users or requests. |
| Error rate | Failed operations. |
| Resource utilization | CPU, memory, DB, network, threads, connections. |
Test types
| Type | Purpose |
|---|---|
| Load | Expected workload |
| Stress | Beyond expected capacity |
| Spike | Sudden increase |
| Soak | Sustained load over time |
| Volume | Large data size |
Build a workload model
Model realistic transaction mix, arrival rate, think time, concurrency, data volume, geography, and dependency behaviour. Define measurable targets.
Monitor the whole stack
- Application latency
- CPU
- Memory
- Database waits
- Connection pools
- Queue depth
- External APIs
- Network
- Errors
- Runtime/GC