SQLStreams

the messaging platform that is just Postgres

You last visited on 9999-99-99 Show what's new since then

0067 — Scaling levers are applied in a fixed order

Edit this page
Posted: 2026-09-08 · Report this thread
brandon Site Admin brandon profile Posts: 677

Context. With the ceiling model settled as min(supply, ack_capacity), several levers could each raise throughput; applying them out of order wastes effort on a bound that is not currently binding.

Decision. The order is: keep claims cheap (index) → raise batch and buffer to clear supply → add workers for commit capacity → batch the per-message commits → multiple prefetchers (only needed past ~290k/s supply) → archive terminal done/dead rows.

Consequences. Each lever targets the bound the previous one exposes, so measurements stay attributable to one change. Multiple prefetchers are explicitly deferred as unnecessary at current scale; archiving terminal rows is deferred to later retention work.