Connection pooling is how modern applications reuse expensive network sockets instead of creating fresh ones for each request. A pool of 50 connections can handle millions of requests—as long as connections circulate fast. But the moment a connection gets stuck (slow query, network hang, deadlock), the pool shrinks. When it hits zero, you’re not just slow; you’re dead.
Real-world: LinkedIn experienced a 4-hour outage when a stored procedure became slow, holding connections until the pool was exhausted. Stripe saw cascading payment failures when a downstream service got sluggish, starving connections and blocking all transactions. These weren’t capacity problems; they were circulation problems.