Queues Don't Fix Overload (2014)

Why adding a waiting line won’t save your crashing app, and commenters have receipts

TLDR: The article’s core warning is that putting work into a waiting line does not fix a service that’s fundamentally too slow; it only delays the crash. Commenters loved the lesson but argued over the delivery, with some recommending deeper reading, some sharing old-school factory examples, and others mocking the article for taking too long to say the obvious.

The big message from “Queues Don’t Fix Overload” is brutally simple: if too many people are hitting your service, shoving their requests into a waiting line doesn’t magically solve the problem. It just hides the mess for a while, like stuffing dirty laundry in a closet and hoping guests never open the door. The author’s sink analogy — water pouring in faster than it can drain out — landed because it turns a nerdy systems problem into a panic anyone can understand: eventually the tub overflows, the servers wheeze, and someone is stuck awake at 3 a.m. wondering why the “quick fix” made everything worse.

But the real fun is in the comments, where the crowd instantly split into the classic internet factions: the book evangelists, the war-story veterans, and the “get to the point already” critics. One commenter dramatically declared that reading Harchol-Balter’s queueing book will give you “superpowers,” which is about as close as engineers get to yelling “life-changing!” Another rolled in with a factory-floor flashback from the 1990s to say buffers can help in the real world — just not as miracle cures. And then came the snark: one reader dunked on the article’s opening as an “unfinished gripe,” basically saying, stop teasing the explanation and spill the tea now.

The funniest twist? Someone revived the eternal fairness debate with a spicy claim that a stack can beat a queue, even if it feels rude. So yes, the article says waiting lines won’t rescue an overloaded system — but the comments turned it into a delicious fight over whether engineers are solving problems, stalling disasters, or just building fancier bathtubs.

Key Points

  • The article models system behavior under load with a sink analogy in which input enters faster or slower than output can drain.
  • It says queues and buffers can help absorb temporary overload, especially during short-lived traffic spikes.
  • It argues that prolonged overload causes buffers to fill, after which systems enter a critical state and fail.
  • The post describes common remediation efforts such as profiling, optimizing components, and buying bigger servers.
  • It identifies hidden hard limits—such as database, external API, disk, bandwidth, I/O, paging, or CPU constraints—as the underlying cause that queues do not fix.

Hottest takes

"you’ll come out with superpowers you didn’t have before" — kqr
"This feels like an unfinished gripe" — YorgishBorg
"LIFO (stack, not queue) is often a better choice" — cmrdporcupine
Made with <3 by @siedrix and @shesho from CDMX. Powered by Forge&Hive.