.NET Architecture & System Design Interview Question #23

What is a bottleneck in system design?

Architecture Fundamentals, Scalability, Availability & Performance Junior Beginner

Quick Interview Answer

A bottleneck is the component or resource that limits the overall capacity or performance of a system. Common bottlenecks include CPU, memory, database locks, connection pools, disk I/O, network bandwidth, and slow external services.

Detailed Explanation

A bottleneck is the component or resource that limits the overall capacity or performance of a system. Common bottlenecks include CPU, memory, database locks, connection pools, disk I/O, network bandwidth, and slow external services.

Optimization should target measured bottlenecks. Scaling components that are not limiting the system may increase cost without improving throughput or latency.

Code Example

Request path:
API -> DB -> External API

Measure each stage.
The slowest constrained resource
may determine system capacity.