Start here. This is the direct spoken answer to practice first.
Why this question matters
Investigate a slow API by checking database queries, blocking async, dependency latency, serialization, logging, and runtime pressure. It matters in real backend work because load, cancellation, retries, and dependency latency decide whether the API stays predictable under pressure. The practical angle is production debugging, bottleneck isolation, observability, database/API/runtime reasoning, and mitigation planning, tied to a concrete production decision.
I start by confirming the symptom with metrics instead of guessing. I check which endpoint is slow, whether it affects all users or one tenant, and whether latency changed after a deployment. Then I look at traces, logs, database time, downstream calls, CPU, memory, and thread pool behavior. The goal is to isolate the bottleneck before changing code.