Balancing

Introduction

Balancing decides how a Capacity budget's origin concurrency limit is shared across member pools. Configure it under Capacity → {budget} → Balancing.

Fixed pins each pool's share. Auto keeps each pool's reserve and moves spare slots toward load under the origin concurrency limit.

Fixed

Each attached pool receives a reserved concurrency allocation. Each pool admits up to that many requests in flight. Quiet pools do not lend slots to hot pools. Sum of reserved shares must stay at or below the origin concurrency limit.

Choose Fixed when you want predictable per-pool caps and do not need slots to move with load.

Auto

Auto is available on Business. Each pool 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 pool needs more than its pin, Auto may grant a temporary lease from unused float. Reserved slots stay local to their pool. Auto never admits more across all members than the origin concurrency limit. If Auto cannot apply shared balancing, pools fail closed to their local reserve.

When the sum of reserved pins equals the origin concurrency limit, float is zero and no pool can climb above its pin.

Per-pool Max

Optional Max on a member caps how high that pool may climb under Auto (must be at least its reserved pin). Member maxes may sum above the concurrency limit; pools still compete for float under load, and the budget hard-caps the origin.

Advanced tunables

Setting Meaning Default
Max shift Most float slots one pool 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 pool'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) Team, Business, trial
Auto balancing Business

Borrowed admits meter like normal admits. There is no separate borrow meter.

Next steps