Balancing
Introduction
Balancing decides how a Capacity budget's origin concurrency limit is shared across member sources. Configure it under Capacity → {budget} → Balancing.
Fixed pins each source's share. Auto keeps each source's reserve and moves spare slots toward load under the origin concurrency limit.
Fixed
Each attached source receives a reserved concurrency allocation. Each source admits up to that many requests in flight. Quiet sources do not lend slots to hot sources. Sum of reserved shares must stay at or below the origin concurrency limit.
Choose Fixed when you want predictable per-source caps and do not need slots to move with load.
Auto
Auto is available on every paid plan. Each source keeps a reserved pin. The budget also has float: slots left when the sum of reserved pins is below the origin concurrency limit.
float = origin concurrency limit − sum(reserved)When a hot source needs more than its pin, Auto may grant a temporary lease from unused float. Reserved slots stay local to their source. Auto never admits more across all members than the origin concurrency limit. If Auto cannot apply shared balancing, sources fail closed to their local reserve.
When the sum of reserved pins equals the origin concurrency limit, float is zero and no source can climb above its pin.
Per-source Max
Optional Max on a member caps how high that source may climb under Auto (must be at least its reserved pin). Member maxes may sum above the concurrency limit; sources still compete for float under load, and the budget hard-caps the origin.
Advanced tunables
| Setting | Meaning | Default |
|---|---|---|
| Max shift | Most float slots one source may borrow per window | 1 |
| Cooldown (ms) | Minimum time between float grant windows (at least 1000) | 3000 |
Tighter cooldowns grant float faster but can thrash under noisy load. Prefer the defaults until you have a measured need.
Switching strategies
- Fixed → Auto: members keep their reserved pins. Float becomes concurrency limit minus sum reserved. Borrowing can begin under load.
- Auto → Fixed: borrowed slots drain; each source's static max concurrency returns to its reserved pin.
Live columns
Under Auto, the member table shows active, reserved, effective limit, borrowed, lending, and queue depth. New grants borrow float only, so Lending normally stays at zero. It can be nonzero briefly while a temporary loan finishes draining. The header shows origin concurrency limit, sum reserved, float free, and sum active.
Plan gate
| Feature | Plans |
|---|---|
| Origin capacity budgets (Fixed) | Starter, Team, Business |
| Auto balancing | Starter, Team, Business |
Borrowed admits meter like normal admits. There is no separate borrow meter.