frontpage.
newsnewestaskshowjobs

Open Source @Github

fp.

Open in hackernews

Queues Don't Fix Overload (2014)

https://ferd.ca/queues-don-t-fix-overload.html
31•locknitpicker•2d ago

Comments

kqr•1h ago
Once you've read this, pick up Harchol–Balter's book Performance Modeling and Design of Computer Systems: Queueing Theory in Action. It's a really good introduction to the depth of this topic, and you'll come out with superpowers you didn't have before.
hilariously•1h ago
Even if you just read the first few chapters of this you will not come out unchanged.
pdhborges•51m ago
This review is not so nice: https://emptysqua.re/blog/review-queue-theory-book/
Jtsummers•1h ago
Two past submissions with notable discussions:

https://news.ycombinator.com/item?id=39041477 - 18 Jan 2024, 153 comments

https://news.ycombinator.com/item?id=8632043 - 19 Nov 2014, 60 comments

MyHonestOpinon•1h ago
Back in the 90s. I was part of a team working R&D project on flexible manufacturing. One of the central concepts was the use of buffers (also called decouplers) between manufacturing stations. These buffers were the space needed to place not finished products while they waited for the next station. Typically a conveyor belt. The main service is that both stations could run at slightly different rhythm, and they would not be causing problems on the other one. Either starving it or overwhelming it. Queues are pretty similar. You can have a consumer and a producer working and the queue in between prevents them from being blocked by each other. Thus I now see the main role of queues as decouplers.
quentindanjou•1h ago
That's a very good analogy. Queues are not there to solve overload (and they never were), they are there as an *architecture tool* that allows decoupling and *can* (not always) ease the scaling of the queue process (workers).

I think the back-pressure should always be implemented from the very beginning, as it also helps with defining the requirements of what the service should be able to handle

marcosdumay•48m ago
Hum... The biggest hype on process engineering by the 00s was buffer size reduction. Because those buffers interfere with each other in chaotic ways, and they tend to turn "small problems that blow up soon, with small consequences" into "huge accumulated problem, that blows up hours after it appeared, with business-risking consequences".

Queues are pretty similar.

thwarted•23m ago
Reducing buffer size puts back pressure on the whole system, which can be valuable to manage load (but often throttles faster stages and that throttling makes people uncomfortable). A meaningful metric is how much of the buffer is used at any given time and the throughout. If the buffer is backed up, that says there's a bottle neck on the consumption side of the buffer and more bandwidth is needed there. For whatever reason, adjusting buffer sizes is the more common action taken. A buffer provides throughput management but it also provides info/metrics about the operation of the system.
YorgishBorg•46m ago
"People misuse queues all the time. The most egregious case being to fix issues with slow apps, and consequently, with overload. But to say why, I'll need to take bits of talks and texts I have around the place, and content that I have written in more details about in Erlang in Anger."

This feels like an unfinished gripe—summarize the key point now rather than promising a future deep dive. Backing claims with a concise example would make the argument useful instead of vague.

cmrdporcupine•43m ago
Reminds me of this other queuing theory blogpost classic https://medium.com/swlh/fifo-considered-harmful-793b76f98374

TLDR LIFO (stack, not queue) is often a better choice for many workloads, despite violating our sense of fairness.

xp84•37m ago
Author clearly has a wealth of real experience, but I have trouble reconciling some of it to the “real world.”

Supposing that you have “too many” messages in your queue, commanding your frontend client to retry its transaction that would’ve added one more, instead of accepting and enqueuing one additional job, doesn’t seem to me to change much. Instead of creating a mess for whoever is in charge of those servers, the mess is created directly in view of the end user, who sees whatever you show them when their transaction is being retried.

Their point about the bottleneck being the real problem that must be addressed if loads are going to be sustained at such a high level is indisputable, though.

I think I would define the necessary rule as: the queue’s maximum size just needs to be greater than the spikes you expect, but that’s of course no insight, just a definition.

I have found queues to be incredibly valuable at solving situations where load has occasional spikes, but urgency of the jobs being done is low. For instance, every time a user views a piece of content you want to make sure that you increment a counter of how many times the content has been viewed, and you also want to touch the timestamp of when that user last did a thing. If that happens even two hours late, it’s probably gonna be fine. The thing that the queue pattern excels at in the realm of Web applications, especially, is allowing you to have an HTTP GET which can be served entirely by a Web worker that is only allowed to talk to a read replica, which allows extensive horizontal scale. Analytics and other incidentals can be handled async in background jobs (and indeed, in emergencies, load-shedding those ancillary things has barely any impact).

I recognize that all of this probably sounds “obvious” - but I have seen enough codebases that do synchronous writes during GET transactions that I would stop short of calling this “common knowledge.”

binsquare•25m ago
I agree with this - queues may not be the end all solution but it is a valuable tool in our kit.

And in the right situations, it can be enough.

NortySpock•22m ago
You can also observe this in games like Dyson Sphere Program, (which is all workers and queues and buffers) where adding a buffer storage section of a belt only hides the fact that you are under-producing one of the components required.

The buffer smooths out bursty flow but you don't want that in the middle of the pipeline, as it actually represents mid-pipeline inefficiency. You should actually be fixing the upstream or downstream problem.

[1] or other automation games like Factorio, Mindustry

MiMo Code is now released and open-source

https://mimo.xiaomi.com/mimocode
198•apeters•2h ago•100 comments

Anthropic apologizes for invisible Claude Fable guardrails

https://www.theverge.com/ai-artificial-intelligence/948280/anthropic-claude-fable-invisible-disti...
53•rarisma•4h ago•34 comments

Lines of code got a better publicist

https://curlewis.co.nz/posts/lines-of-code-got-a-better-publicist/
259•RyeCombinator•4h ago•169 comments

The RCE that AMD wouldn't fix

https://mrbruh.com/amd2/
32•MrBruh•59m ago•19 comments

Nextcloud Hub 26 Spring: Built together, designed for the future

https://nextcloud.com/blog/nextcloud-hub26-spring/
81•doener•2h ago•45 comments

Petition to Withdraw Canada's Bill C-22

https://www.ourcommons.ca/petitions/en/Petition/Sign/e-7416
37•hmokiguess•1h ago•8 comments

Open Reproduction of DeepSeek-R1

https://github.com/huggingface/open-r1
100•yogthos•3h ago•12 comments

Pokémon Go Scans Trained the Navigation Tech for Military Drones

https://dronexl.co/2026/06/09/pokemon-go-scans-niantic-vantor-military-drone-navigation/
587•vrganj•10h ago•267 comments

FPS.cob: A first person shooter in COBOL

https://github.com/icitry/FPS.cob
45•MBCook•1h ago•11 comments

Solar generates more energy in US than coal for first time

https://www.theguardian.com/us-news/2026/jun/11/solar-energy-us-coal
78•neilfrndes•52m ago•20 comments

Introducing Waymo Premier, an elevated rider experience

https://waymo.com/blog/2026/06/waymo-premier/
13•boulos•52m ago•4 comments

MapComplete: Maps about various topics which you can contribute to

https://mapcomplete.org/
135•GTP•2h ago•25 comments

Queues Don't Fix Overload (2014)

https://ferd.ca/queues-don-t-fix-overload.html
32•locknitpicker•2d ago•14 comments

Software Is Made Between Commits

https://zed.dev/blog/introducing-deltadb
8•jeremy_k•34m ago•1 comments

SVG-Line: Better Status Bars for Emacs – Charlie Holland's Blog

https://www.chiply.dev/post-svg-line
44•rbanffy•2d ago•2 comments

Emacs appearances in pop culture

https://ianyepan.github.io/posts/emacs-in-pop-culture/
33•ggcr•1d ago•0 comments

Ask HN: How do you get into a flow state when using AI to code?

30•kilroy123•1h ago•39 comments

Show HN: Homebrew 6.0.0

https://brew.sh/2026/06/11/homebrew-6.0.0/
37•mikemcquaid•3h ago•1 comments

Show HN: AI pair programmer for Emacs

https://github.com/jaketothepast/codetutor
35•jakewindle47•2d ago•0 comments

Global population movements from 1990 to 2023

https://www.nature.com/articles/d41586-026-01796-y
57•tzury•5h ago•56 comments

A new era for software testing

https://antirez.com/news/168
39•Chrisszz•4d ago•7 comments

Web Browsers on Video Game Consoles

https://vale.rocks/posts/game-console-browsers
138•robin_reala•8h ago•65 comments

Spoiling Linux Kernel with "sanctioned" code

https://printserver.ink/blog/spoiling-the-kernel/
52•ValdikSS•1d ago•14 comments

Cybersecurity researchers aren't happy about the guardrails on Anthropic's Fable

https://techcrunch.com/2026/06/10/cybersecurity-researchers-arent-happy-about-the-guardrails-on-a...
563•speckx•1d ago•489 comments

Doing nothing at work

https://www.seangoedecke.com/doing-nothing-at-work/
137•Sukram21•3d ago•28 comments

Thermodynamics rules future orbital data centers

https://spectrum.ieee.org/orbital-data-centers-heat
40•rbanffy•3h ago•59 comments

Fable 5 lies 96% of the time

https://twitter.com/kradleai/status/2064907897373642912
17•TheMrZZ•28m ago•1 comments

Ask HN: Favorite text heavy blogs that are a joy to read?

39•joshmarinacci•1d ago•16 comments

Build a Basic AI Agent from Scratch: Long Task Planning

https://medium.com/@rogi23696/build-a-basic-ai-agent-from-scratch-long-task-planning-14e803f9bd6d
110•ruxudev•2d ago•44 comments

Show HN: Open-source API Key server written in Go by Ory

https://github.com/ory/talos/tree/master
21•leetvibecoder•1h ago•3 comments