Журнал · Rit.work

Почему отмена запросов не останавливает перегрузку vLLM

Ретраи продолжают загружать vLLM после всплеска запросов, а отмена не помогает, если движок уже начал повторную обработку промпта.

Rit.work
Студия разработки
9 ноября 2026 г.2 мин чтения

Материал подготовлен автоматически по первоисточникам: ссылки на них — в конце статьи.

Краткая перегрузка может оставить LLM-движок в нерабочем состоянии, даже когда поток вызовов уже вернулся ниже его пропускной способности. В нерецензированном препринте Xindan Zhang и Fei Wang, где все числа получены самими авторами, отмена запросов позволила доставить лишь 12–38% вызовов, поступивших после всплеска. Для восстановления нужно ограничивать ретраи или присоединять их к уже запущенной обработке.

Один вызов приложения может породить несколько отдельных заданий внутри движка: клиент прекращает ждать по тайм-ауту, отправляет повтор, а прежнее задание остаётся в очереди или уже работает на GPU. Отмена останавливает старое задание, но не мешает следующему ретраю создать новое. В опытах ретраи обычно начинали обработку промпта менее чем за полсекунды до собственного тайм-аута и снова уходили в конец очереди.

Из-за этого обычные метрики vLLM занижали потраченную работу. На задания, которые движок впоследствии отменил, пришлось 79–85% обработанных токенов промпта. Встроенный счётчик пропустил от трети до половины этой работы, поскольку учитывает промпт только после появления первого выходного токена.

Работу проверяли на Qwen2.5-7B-Instruct, Qwen3-14B и Llama-3.1-8B-Instruct в vLLM 0.30.0 на одном NVIDIA H100. Использовали синтетические одношаговые запросы, тайм-аут 120 секунд и до трёх ретраев. После короткого всплеска нагрузку снижали ниже расчётной пропускной способности, но с ретраями и немедленной отменой ни одна модель не восстановилась за время наблюдения.

Бюджет ретраев возвращал сервис в рабочее состояние, но отбрасывал часть вызовов. Объединение повторов давало другой результат: прокси присоединял новый запрос к уже выполняемому заданию и доставлял все вызовы, хотя некоторые ответы приходили поздно. Немедленная отмена мешала этому, поэтому задержка отмены на 10 секунд оказалась полезнее. Для эксплуатации отсюда следуют две метрики: сколько отдельных заданий создали ретраи и сколько исходных вызовов действительно получили полный ответ.

Источники

Пауза в чтении

Похоже на вашу задачу?

Расскажите, что собираете. За полчаса разложим на этапы и назовём сроки — это бесплатно и ни к чему не обязывает.

Rit.work

Студия разработки

Собираем мобильные приложения и помогаем командам получать от AI реальную пользу. Основатель и команда, работаем удалённо — с клиентами в России и за рубежом.

← Ко всем материалам
Понравилось? Обсудим вашу задачу