Q50: How do you identify and resolve a system bottleneck?
Measure the full request path using traces, latency percentiles, resource metrics, queue age, and dependency timings. Find the constrained resource—CPU, memory, database I/O, lock contention, network, or downstream service—then form a hypothesis and test it under representative load. Optimize the dominant bottleneck first, retest, and watch for the bottleneck moving elsewhere. Avoid scaling every component based only on averages.
Key Takeaways
- Use measurements and traces before guessing.
- Optimize the current limiting resource, then measure again.