Production Debugging

The API was 100 ms and is now 3 s. Working from symptom to cause through deploys, queries, pools, dependencies, the event loop and the queue.

Debugging a Backend in Production

Turning "the API got slow" into a named cause by narrowing the search space with evidence instead of guessing at fixes.

Q · An endpoint that answered in about 100 ms is now taking about 3 s at p99. How do you find the cause rather than guess at fixes?
Why Is My API Slow?

The decision flow from "slow" to a named bottleneck: split the time first, then follow the branch the evidence selects.

Q · Given only "the API is slow", what sequence of checks leads to the actual bottleneck instead of a plausible story?
The Common Backend Failures

Thirteen failures that account for most backend incidents, each with the symptom that identifies it and the first diagnostic to run.

Q · When production breaks, what is it usually, and what is the first thing to check for each?
Backend Code Smells

Ten patterns that predict production trouble — and, for each, the situation where the same pattern is the right answer.

Q · Which patterns in backend code reliably predict incidents, and when is each of them actually fine?
Deploys Are the First Suspect

The highest prior probability for a sudden change in behaviour belongs to the thing that just changed — usually yours.

Q · Why should a deploy be the first hypothesis in almost every sudden production incident, and how do you make it cheap to check?
Memory Leaks in Backend Services

Distinguishing a leak from ordinary heap growth, finding the reference that retains, and doing it on a live process.

Q · Memory climbs steadily until the process restarts. Is that a leak, and how do you find what is holding the references?
Retry Storms

How a reasonable retry policy turns a dependency's brief degradation into a sustained outage, and what bounds it.

Q · A dependency got slow and now it is completely down, with our request rate against it several times normal. What did we do?
Connection Pool Exhaustion

The endpoint is slow, the database is calm, and the pool has waiters — the most commonly misdiagnosed backend incident.

Q · Why is the API slow when every database query is fast and the database itself is barely working?