> This page is for version dev.
> For other versions, use one of these documentation indexes:
> - Latest (v1.5.1) (default): https://docs.dynamo.nvidia.com/dynamo/latest/llms.txt
> - dev: https://docs.dynamo.nvidia.com/dynamo/dev/llms.txt
> - v1.5.1: https://docs.dynamo.nvidia.com/dynamo/v1.5.1/llms.txt
> - v1.5.0: https://docs.dynamo.nvidia.com/dynamo/v1.5.0/llms.txt
> - v1.4.2: https://docs.dynamo.nvidia.com/dynamo/v1.4.2/llms.txt
> - v1.4.1: https://docs.dynamo.nvidia.com/dynamo/v1.4.1/llms.txt
> - v1.4.0: https://docs.dynamo.nvidia.com/dynamo/v1.4.0/llms.txt
> - v1.3.0: https://docs.dynamo.nvidia.com/dynamo/v1.3.0/llms.txt
> - v1.2.1: https://docs.dynamo.nvidia.com/dynamo/v1.2.1/llms.txt
> - v1.2.0: https://docs.dynamo.nvidia.com/dynamo/v1.2.0/llms.txt
> - v1.1.1: https://docs.dynamo.nvidia.com/dynamo/v1.1.1/llms.txt
> - v1.1.0: https://docs.dynamo.nvidia.com/dynamo/v1.1.0/llms.txt
> - v1.0.2: https://docs.dynamo.nvidia.com/dynamo/v1.0.2/llms.txt
> - v1.0.1: https://docs.dynamo.nvidia.com/dynamo/v1.0.1/llms.txt
> - v1.0.0: https://docs.dynamo.nvidia.com/dynamo/v1.0.0/llms.txt
> - v0.9.1: https://docs.dynamo.nvidia.com/dynamo/v-0-9-1/llms.txt
> - v0.9.0: https://docs.dynamo.nvidia.com/dynamo/v-0-9-0/llms.txt
> - v0.8.1: https://docs.dynamo.nvidia.com/dynamo/v-0-8-1/llms.txt
> - v0.8.0: https://docs.dynamo.nvidia.com/dynamo/v-0-8-0/llms.txt
> - v0.7.1: https://docs.dynamo.nvidia.com/dynamo/v-0-7-1/llms.txt
> - v0.7.0: https://docs.dynamo.nvidia.com/dynamo/v-0-7-0/llms.txt

> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://docs.nvidia.com/dynamo/llms.txt. For full content including API reference and SDK examples, see https://docs.nvidia.com/dynamo/llms-full.txt.

# Admission Control

Backend admission control limits requests inside each engine and queues excess work outside it.
Configure the gate on the worker containers in your DynamoGraphDeployment (DGD). It supports both
Dynamo Python and Dynamo Sidecar backends.

For behavior and tuning guidance, see
[Admission Control Architecture](/dynamo/dev/knowledge-base/concepts/fault-tolerance/admission-control-architecture).

## Configure the Worker

Start with a working [DynamoGraphDeployment](/dynamo/dev/reference/api/kubernetes/dynamo-graph-deployment).
These three settings apply **per data-parallel (DP) rank**:

| Environment variable | What it limits | Default per rank |
|---|---|---|
| `DYN_BACKEND_ADMISSION_ENGINE_REQUEST_LIMIT` | Admitted requests that have not finished. | Reported `max_num_seqs`; `10000` until reported. |
| `DYN_BACKEND_ADMISSION_ENGINE_REQUEST_WAITING_LIMIT` | Admitted requests awaiting their first generated token or completion. | Reported `max_num_seqs`; `10000` until reported. |
| `DYN_BACKEND_ADMISSION_REQUEST_QUEUE_LIMIT` | Requests waiting outside the engine. Set `0` to disable queueing. | Twice reported `max_num_seqs`; `20000` until reported. |

A request needs room under both engine limits. Otherwise, it waits in the gate queue. If the queue is
also full, the worker rejects it; overload reaches the client as HTTP 529 by default.

The following `nvidia.com/v1beta1` fragment overrides all three settings. Add these entries to your
worker container's existing `env` list. Omit an entry to keep its default.

```yaml
spec:
  components:
    - name: worker
      type: worker
      podTemplate:
        spec:
          containers:
            - name: main
              env:
                - name: DYN_BACKEND_ADMISSION_ENGINE_REQUEST_LIMIT
                  value: "256"
                - name: DYN_BACKEND_ADMISSION_ENGINE_REQUEST_WAITING_LIMIT
                  value: "32"
                - name: DYN_BACKEND_ADMISSION_REQUEST_QUEUE_LIMIT
                  value: "512"
```

For a disaggregated deployment, configure prefill and decode workers separately. Set these variables on
the workers, not the frontend. See
[Configuration](/dynamo/dev/knowledge-base/concepts/fault-tolerance/admission-control-architecture#configuration)
for CLI precedence and aliases, and
[Best Practices](/dynamo/dev/knowledge-base/concepts/fault-tolerance/admission-control-architecture#best-practices)
for sizing guidance.

## Verify the Configuration

Check the worker logs for the effective limits. Under load, use the `dynamo_backend_admission_*`
metrics to observe engine occupancy, queued requests, rejections, and cancellations. The `dp_rank`
label identifies the rank; `unspecified` covers unranked requests. Sum over `dp_rank` for worker totals.

See [Metrics](/dynamo/dev/knowledge-base/concepts/fault-tolerance/admission-control-architecture#metrics)
for metric names and labels.