Show in graph
SYS

Software → System Design

Bottleneck

The limiting component or step that constrains throughput, latency, scalability, or delivery speed for the whole system.

Bottleneck diagram

Where it fits

A bottleneck appears when one component or step limits the performance of the whole system. It can be a database query, lock, CPU-bound service, queue consumer, network link, deployment process, or human approval step.

Mental model

Traffic flows through a chain. The slowest or least scalable part of the chain sets the effective capacity for everything downstream.

Example

Adding more web servers does not improve throughput if every request waits on the same slow database query. In that case the database query is the bottleneck, not the application server count.

How engineers handle it

Measure first, then reduce the constraint. Common options include caching, indexing, batching, sharding, asynchronous processing, load balancing, backpressure, and eliminating unnecessary shared locks.

Common mistakes

  • Optimizing the most visible component instead of the actual limiting one.
  • Ignoring bottlenecks that only appear during traffic spikes.
  • Fixing throughput while making latency or reliability worse.

Scalability, latency, capacity planning, load balancing, queueing, backpressure, and SPOF.