# vLLM max-num-seqs: ограничить размер партии запросов и проверить очередь

Источник: https://modelium.tech/zhurnal/vllm-max-num-seqs/

В vLLM `--max-num-seqs` ограничивает число последовательностей, обрабатываемых за один шаг работы модели. Уменьшение значения может снизить расход памяти под одновременную обработку, но способно увеличить ожидание ответа. Это не лимит входящих HTTP-запросов: проверяйте очередь и задержку на одинаковой нагрузке своего сервера.

Если сервер с локальной моделью отвечает медленно под несколькими запросами, не выбирайте `--max-num-seqs` наугад. Это число ограничивает, сколько **последовательностей** vLLM обрабатывает в одном шаге; упрощённо — сколько частей текущих запросов попадает в одну рабочую партию. Меньшее значение может освободить память, но оставит больше запросов ждать своей очереди. Это настройка обработки, а не кнопка «обслужить не более N пользователей». [s1](#src-s1) [s3](#src-s3)

**Инструкция по документации и коду vLLM v0.32.0 на 1 ноября 2026 года.** Это инженерный сценарий для Linux с установленным vLLM и совместимой видеокартой; не домашний рецепт с графическим интерфейсом. В качестве конкретной учебной модели в официальном Quickstart указана `Qwen/Qwen2.5-1.5B-Instruct`, но её совместимость с вашей памятью здесь не измерена. Для первой загрузки весов нужен интернет; работа уже загруженного локального сервера и доступность других сетевых компонентов проверяются отдельно. Редакция не запускала сервер, модель или нагрузку и не обещает ускорения. [s6](#src-s6) [s7](#src-s7)

## Что именно меняет флаг?

`--max-num-seqs` задаёт верхнюю границу последовательностей за одну итерацию планировщика — части сервера, которая решает, какие запросы обрабатывать сейчас. Код v0.32.0 использует её также для размера внутренних буферов и подготовки графа вычислений; рабочее значение без флага выбирается при создании конфигурации с учётом среды. Поэтому константа в классе конфигурации — **не** универсальное значение по умолчанию вашего сервера. Соседний `--max-num-batched-tokens` ограничивает число токенов (небольших частей текста) за шаг: эти числа не взаимозаменяемы. [s1](#src-s1) [s2](#src-s2) [s5](#src-s5)

Не путайте три ограничения: `--max-num-active-seqs` отдельно задаёт, сколько запросов допускается в состояние RUNNING, а `--max-num-queued-reqs` — сколько запросов всего может находиться в системе; при достижении последнего предела сервер может ответить HTTP 503. Один `--max-num-seqs` **не** является пределом входящих HTTP-запросов и сам по себе не защищает сервер от перегрузки очереди. [s1](#src-s1) [s5](#src-s5)

## Как проверить два значения на своём стенде?

Сначала по [гайду vLLM](/zhurnal/vllm/) получите ответ от модели на **закрытом** тестовом сервере. Запишите версию vLLM, точное имя и ревизию модели, GPU, параметры памяти, длины входа и ответа. Не направляйте тестовую нагрузку на рабочий сервер или платный API. Для учебного сравнения остановите первый процесс и по очереди запустите `vllm serve Qwen/Qwen2.5-1.5B-Instruct --host 127.0.0.1 --max-num-seqs 4` и после завершения первого прогона `vllm serve Qwen/Qwen2.5-1.5B-Instruct --host 127.0.0.1 --max-num-seqs 8`. Числа 4 и 8 — **пара для измерения**, а не рекомендация для вашей нагрузки или обещание, что модель поместится в VRAM. Если сервер не стартует, не проводите сравнение ответов. [s5](#src-s5) [s6](#src-s6)

В другом терминале при каждом запуске выполните `curl -fsS http://127.0.0.1:8000/v1/models` и убедитесь, что вернулся идентификатор выбранной модели; список не доказывает, что она ответит на запрос. Затем по [гайду нагрузочного теста](/zhurnal/vllm-bench-serve/) подайте **одинаковые** учебные запросы с одинаковой интенсивностью и проверьте успешные ответы, задержку и загрузку памяти. В `/metrics` смотрите `vllm:num_requests_running` и `vllm:num_requests_waiting`: это число исполняемых и ожидающих запросов, а не оценка качества текста. Если очередь выросла или ответы стали медленнее, меньшее значение не улучшило ваш сценарий, даже если память снизилась. [s4](#src-s4) [s6](#src-s6)

На одном коротком запросе очередь может вообще не появиться: это не доказательство того, что второй режим быстрее. Отдельно сверяйте текст ответов с учебным входом. Если нужна настройка **длины текста**, а не числа параллельных последовательностей, откройте [разбор chunked prefill](/zhurnal/vllm-chunked-prefill/); при нехватке видеопамяти сначала установите, на каком этапе возникла ошибка, не объявляя этот флаг универсальным лечением. [s1](#src-s1) [s3](#src-s3)

## Источники

1. [vLLM v0.32.0 — SchedulerConfig и границы трёх параметров](https://github.com/vllm-project/vllm/blob/5df63a7203cdb9328d824a27b682e77c7b9928be/vllm/config/scheduler.py) — получено 2026-11-01
2. [vLLM v0.32.0 — EngineArgs, выбор рабочего значения](https://github.com/vllm-project/vllm/blob/5df63a7203cdb9328d824a27b682e77c7b9928be/vllm/engine/arg_utils.py) — получено 2026-11-01
3. [vLLM v0.32.0 — оптимизация памяти](https://docs.vllm.ai/en/v0.32.0/configuration/optimization/) — получено 2026-11-01
4. [vLLM v0.32.0 — метрики сервера](https://docs.vllm.ai/en/v0.32.0/usage/metrics/) — получено 2026-11-01
5. [vLLM v0.32.0 — параметры serve](https://docs.vllm.ai/en/v0.32.0/cli/serve/) — получено 2026-11-01
6. [vLLM v0.32.0 — Quickstart с Qwen2.5-1.5B-Instruct](https://github.com/vllm-project/vllm/blob/5df63a7203cdb9328d824a27b682e77c7b9928be/docs/getting_started/quickstart.md) — получено 2026-11-01
7. [vLLM v0.32.0 — установка на GPU](https://docs.vllm.ai/en/v0.32.0/getting_started/installation/gpu/) — получено 2026-11-01
