Capacity
Introduction
A Capacity budget is a named shared concurrency limit plus member allocations. Pools keep their own origins and credentials. Attach an existing pool to draw from the budget; detach leaves the pool's origins unchanged.
Use Capacity when interactive, batch, and partner pools must not over-admit the same upstream together. Per-pool concurrency limits alone can drift. A budget keeps one shared concurrency limit and the reservations in one place.
Capacity is available on Team and Business (and during trial). Starter does not include Capacity budgets.
Create a budget
- Open Capacity in the dashboard.
- Create a budget. Set the shared concurrency limit to the hard concurrency the upstream can take across every attached pool.
- Attach existing pools. Each pool gets a reserved share of the shared concurrency limit. The sum of reserved shares cannot exceed that limit.
Create the pool first (with its origins and credentials), then attach it. There is no create-from-budget or Adopt flow.
Fixed vs Auto
Each budget has a balancing strategy:
| Strategy | Behavior |
|---|---|
| Fixed | Each pool keeps the concurrency you allocate. No borrowing between pools. Default for new and existing budgets. |
| Auto | Each pool keeps a pinned reserve. Unreserved float moves toward load under the shared concurrency limit. Business plan. |
See Balancing for floors, float, borrow, and tunables.
Live view
The budget show page lists shared concurrency limit, sum reserved, float free, and sum active. Under Auto, the member table also shows borrowed and lending slots so you can see float follow load without leaving the dashboard. Lending normally stays at zero. It can show a short nonzero value while older temporary loans finish draining.
Relationship to pool Concurrency
While a pool is attached to a budget:
- Origins and credentials stay on the pool (Settings).
- Editing Max concurrency on the pool Concurrency tab updates that pool's reserved share on the budget (and the reverse).
- Under Auto, Concurrency shows the floor, optional climb max, and borrowed slots. Adaptive concurrency (if enabled) remains an inner cap under the pool's entitlement. It never raises a pool above what the budget allows.
Detach leaves pool origins unchanged. Concurrency stays at the last allocation.
Limitations
- Fixed sets each pool's concurrency allocation in the dashboard. Auto enforces the shared concurrency limit across members.
- Auto does not replace within-pool concurrency settings (queue, RPM, adaptive). Those still apply inside each pool.
- When reserved pins fill the shared concurrency limit, Auto has no float to lend. Raise the shared limit or lower reservations to create float.
- Capacity sets a shared in-flight concurrency limit across member pools. It does not route or transform requests. Two budgets may both admit against the same host; hostnames are not an exclusivity key.