Understanding what you measured.
WHAT TO ESTABLISH FIRST
Whether the system or the test was the bottleneck.
WHAT TO EXAMINE
Response time distribution Throughput against concurrency Error rate as load rises Resource utilisation on each component
WHAT SATURATION LOOKS LIKE
Throughput flattening while response time climbs.
WHAT THAT MEANS
Requests are queuing.
WHERE TO LOOK
The component whose utilisation is highest.
WHAT COMMON BOTTLENECKS ARE
Database connections Database queries without indexes Processor on the application layer Memory and garbage collection External service latency Network capacity
WHAT TO DO ABOUT DATABASE BOTTLENECKS
Examine the slowest queries under load, which differ from those in isolation.
WHY THEY DIFFER
Contention and cache behaviour change entirely under concurrency.
WHAT TO CHECK IN RESULTS
Whether errors rose before or after response times.
WHAT ERRORS FIRST INDICATES
A hard limit: connections, threads, or rate limiting.
WHAT SLOW RESPONSES FIRST INDICATES
Resource contention.
WHAT TO RECORD
The full configuration and data state of the test.
WHY
Results are meaningless without knowing what was tested.
WHAT TO COMPARE AGAINST
The previous baseline.