Urgent.News

What's breaking now, across thousands of outlets.

Tech

Our 72-hour soak lost 81% of its throughput. We had to prove it wasn't the runtime.

Evidence box : every Usai post states the limits of its claims. Status: Usai v0.0.15, alpha. The soaks ran on 2026-09-19/22 and 2026-09-23/24, on the builds of those days. Setup: one VM (16 vCPU Xeon) running a production-shaped deployment: Caddy in front of the published Usai runtime image, PostgreSQL 18, and the examples/invoicing app. Eight closed-loop clients; a status sample once a minute.…

The 72-hour soak test, conducted on September 19-24, 2026, on a single VM with production-like setup, revealed that the Usai runtime lost 81% of its throughput despite maintaining flat CPU, memory, and open descriptor counters. A 24-hour control run with the application's data pruned showed no slowdown, implicating the ever-growing table as the cause.

The workload generated approximately 7.4 million invoices into one table, which resulted in bigger indexes, larger write-ahead logs, and more checkpoint and autovacuum work. This led to longer wait times for PostgreSQL for each closed-loop client, causing a decline in successful requests per second. The CPU per request remained flat, and memory stayed within a narrow range, but the slow tail of latency increased tenfold, reducing throughput to a fifth of its initial value.

The control run confirmed the application's table as the source of the decay, disproving the idea that the runtime was responsible.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

We Had Four Records for One Supplier and Paid Its Invoice Twice

In March we paid a haulage subcontractor thirty eight thousand pounds for an invoice we had already paid in January. They noticed before we did and sent it back, which is the kindest thing a supplier…

  • Company made two payments to haulage subcontractor in March
  • Finance system treated supplier as two different entities
  • Updated controls now match suppliers by registration number

More from Monday 28 September →