Build1 distinct publisher3 min readPublished
Forty simulated users, 1.2 seconds of inference each, taken strictly one at a time, is 48 seconds of work, which is about what the load test measured before the proxy gave up. The memory figure is the same queue in different units.
The Engineer · Build desk

Compiled by The EngineerSomething wrong?How this is made
Serialized queueing is the only reading of the latency that also explains the memory. Sessions, the FastAPI app and the model all lived in one process, so every queued conversation added to the resident set until it went past 30 GB [7][4]. The queue was simply consuming memory as it grew.
The measured jump is roughly 39x [21], and strict one-at-a-time service of forty turns overshoots the observed figure by about a second [20]. So nothing in the model needs to have got slower. One slow inference blocked every request on the same code path [7], and there was no ceiling on what could pile up behind it [3].
The HTTP 504 response came from the gateway, not the application itself [5]. Nothing in the path had been told what to do when demand exceeded capacity, which is the property the guide's author, writing on dev.to, calls backpressure: queue, reject politely, or shed load, and never silently drop [10]. When one worker fell over it took the whole process with it [6], because there was no boundary between the layers to contain it [9].
Treat 47 seconds as a claim about that stack. It transfers to yours if three things hold: model serving, API logic and session state share a process [7]; the queue in front of inference has no bound [3]; and conversation state sits in process memory rather than an external store [11]. Break one of the three and the curve bends instead of snapping. That is why the author, who says he has had this conversation about two dozen times in two years [18], calls the fix architecture rather than hardware, and warns that buying capacity for a prototype gets you a six-figure cloud bill and a service that still collapses [8].
The cheap fixes belong in week one. The service layer gets an explicit input budget and a hard timeout on the model call, which he names as the two details most people skip [17]. Conversation IDs map to Redis keys instead of process memory, which is what makes it safe to run twenty replicas and kill any of them mid-flight [16].
The residency rule removed the easy option here. Payment and inventory data could not leave the VPC, so they self-hosted with vLLM [13], against his stated 2026 default of a hosted endpoint unless the workload is high-volume or data-sensitive [12]. Hence the one thing he insists on either way: put the model behind a single interface you can flip with an environment variable, written in week one, because the day you want to flip it is not the day to be editing call sites [14].
The metric that would have shown all of this before the load test is queue depth, which he puts on the day-one dashboard next to latency percentiles, GPU utilisation and token spend [25].
Ranked by verification strength, evidence, and original report placement.
The supplied text of the guide breaks off inside the FastAPI service-layer code sample, before any timeout or input-budget values appear.
A Dubai e-commerce startup built a search-and-summarize assistant over a catalog of 12,000 products; the demo ran on a laptop and answered in about a second, two days before an investor showing and three weeks before launch.
When the team load-tested with 40 simulated users, response time went from 1.2 seconds to 47 seconds.
Distinct publishers with included, body-backed reporting in this cluster.
dev.to
1 article · September 1, 2026
Follow any of these and your For You feed starts watching them — no settings page required.
build
Edge KV puts the permission check an hour behind the Postgres row1 distinct publisher
build
A RAG stack lived seven hours before a hosted embedding endpoint returned 4041 distinct publisher
build
Reserving the idempotency key before the gateway call is what wins the race1 distinct publisher
build
94% in the demo, 11% in production: the agent gap is architectural1 distinct publisher
Evidence-backed comparisons of source perspectives and observed adoption signals. Read the methodology
Which Builder, Operator, and Investor concerns the observed source mix emphasized—not a truth score.
Evidence, demonstrated adoption, hype gap, incentives, and confidence are assessed independently, each on its own current evidence. How these are measured.
Coherent numbers, one witness
Every figure in this story — 12,000 products, 1.2 seconds, 47 seconds, 30 GB, 40 users — reaches us through one consultant retelling one client's load test on dev.to. There are no logs, no company name, and no second account. What keeps it credible is that the numbers agree with each other: serial service at 1.2 seconds for 40 callers is 48 seconds of work, and 47 is what the test showed, which is exactly the behaviour you would expect from the single shared process the author describes. The architectural prescriptions are unremarkable practice; the incident behind them is unverified.
One anonymous deployment
Concretely, this reporting documents a single system: an unnamed Dubai startup running vLLM inside its own VPC because payment data could not leave, tested once against 40 simulated users. Breadth rests entirely on the author's line about having had this conversation two dozen times in two years — a plausible claim, and an uncheckable one. Redis, Postgres, Nginx, FastAPI and vLLM are widely used, but nothing in this story measures that.
Restrained, but over-generalized
The piece spends its energy talking a founder down from buying servers, which is the opposite of hype. The stretch is narrower and specific: one client rescue is asked to establish a general law — the author says he cannot overstate how often the entire collapse story reduces to a missing timeout — and the only figures backing that generalization were produced by the person who called him. Modest framing, thin base.
Expertise on display, no sponsor
Nobody appears to be paying for this. But note the structure: the founder calls the author, the author diagnoses what a team of engineers missed, and the closing credential is two dozen such calls. That is consulting positioning as much as reporting, and it selects for the anecdote where the outsider was right. The tools named — vLLM, Redis, Postgres, Nginx, an OpenAI-compatible endpoint — read as unpaid defaults, and dev.to compensates authors in reputation, which is precisely the currency at stake here.
Internally sound, externally unchecked
One publisher, one author, one anonymous subject, and a text that breaks off inside a code sample. We can vouch for the reasoning — the queue arithmetic and the single-process diagnosis fit together too neatly to be invented carelessly — and for nothing beyond it. Any of the specific numbers could move without anyone being able to tell.