In short
The test says checkout gets slow at 800 users. Fine, but why? Finding the one slow part, the bottleneck, turns a scary graph into a fix the developers can make.
Diagnosing where a system actually slows down under load — database queries, external API calls, or application code — requires correlating performance test results with system-level monitoring.

Think of it like this
The single toll booth
The highway has six lanes, but only one toll booth is open. Widening the road won't help. Opening more booths will. A bottleneck is that one booth: the part that limits everything behind it.
Watch it happen
Tracing a slow checkout
800 users: /checkout
1/6Response times jump at around 800 virtual users.
The big ideas
What you need to know
Check every layer
Client, network, app server, database, third-party APIs. The slow one is rarely the one you guess.
Correlate graphs
Line up response time with CPU, memory and connections on the same timeline. Look for what peaks together.
Databases are common culprits
Missing indexes, too many queries per request and exhausted connection pools show up often.
Fix one, re-test
Remove one bottleneck and the next one appears. Change one thing and measure again.
See it in code
Walk through the code
1-- Slow under load: check how this query runs2EXPLAIN ANALYZE3SELECT id, name, price4FROM products5WHERE category = 'shoes'6ORDER BY price7LIMIT 20;8 9-- The developer's fix, then you re-run the load test10CREATE INDEX idx_products_category_price11 ON products (category, price);1/3EXPLAIN ANALYZE runs the query and reports how the database executed it and how long it took.
PostgreSQL syntax. EXPLAIN ANALYZE shows whether the database scans the whole table or uses an index.
Save yourself the pain
Common mistakes
Oops
Reporting 'the app is slow' with only the load tool's graphs.
Do this instead
Pair results with server and database monitoring to point at the slow layer.
Oops
Assuming more servers will fix any slowness.
Do this instead
If the database is the bottleneck, more app servers can make it worse. Find the real limit first.
Your mission
Read a query plan
Quick check
Under load, response time is high, app server CPU is 30% and database CPU is 98%. Where is the bottleneck most likely?
Go deeper
- 1Given a hypothetical performance test result, list 3 possible bottleneck sources to investigate.
- 2Learn why isolating a bottleneck often requires monitoring at multiple system layers simultaneously.
- 3Understand this investigation often requires collaboration with engineers and DevOps.
More topics at this stop
Stuck on this topic? Ask an Insider
Get 1:1 guidance from people who've walked this exact path — on the InsideEdge app.