Собирать запросы в пачки, чтобы загрузить GPU, и сглаживать всплески нагрузки очередью.
Ключевые тезисы
- Динамический батчинг ждёт несколько миллисекунд, собирая запросы, — рост пропускной способности в разы.
- Очередь защищает от всплесков, но растит задержку; нужен предел длины и отбрасывание старых запросов.
- Backpressure обязателен: без него сервис деградирует до полного отказа.
Подробный разбор
2 подтем — раскройте любую, чтобы увидеть объяснение, формулы, примеры и интерактивные графики.
1Динамический батчинг
Обмен нескольких миллисекунд на кратную пропускную способность.
Сервер копит запросы в течение окна (например, 5 мс) или до достижения размера батча, затем считает их одним вызовом. На GPU это даёт рост пропускной способности в разы при почти незаметном росте задержки.
| Размер батча | Задержка p99 | RPS |
|---|---|---|
| 1 | 12 мс | 80 |
| 8 | 18 мс | 420 |
| 32 | 35 мс | 900 |
| 128 | 110 мс | 1 150 |
Кривая насыщается: после некоторого размера батча RPS почти не растёт, а задержка растёт линейно. Выбирайте точку, где задержка ещё укладывается в SLA.
2Очереди и backpressure
Что делать, когда нагрузка выше мощности.
- Ограничьте длину очереди: бесконечная очередь превращает перегрузку в полный отказ.
- Отбрасывайте запросы, которые уже устарели (deadline-aware): считать их бессмысленно.
- Возвращайте 429 и дайте клиенту retry с экспоненциальной задержкой и джиттером.
- Разделите очереди по приоритетам: онлайн-запросы важнее фоновых пересчётов.
Связанные темы
Инференс и эксплуатация
Requirements and SLA85%
Требования и SLA · Системный дизайн ML-сервисовЧисла, которые нужно зафиксировать до архитектуры: задержка, пропускная способность, доступность, стоимость запроса.
Serving Architecture85%
Архитектура инференса · Системный дизайн ML-сервисовМодель внутри приложения, отдельный сервис или платформа инференса — три уровня связанности.
Caching85%
Кеширование · Системный дизайн ML-сервисовНе считать то, что уже посчитано: кеш предсказаний, признаков и эмбеддингов.
Scaling85%
Масштабирование · Системный дизайн ML-сервисовГоризонтальное и вертикальное масштабирование инференса и правильные метрики автоскейлинга.
GPU Inference85%
GPU-инференс · Системный дизайн ML-сервисовКак выжать из видеокарты пропускную способность и не переплачивать.
Reliability85%
Отказоустойчивость · Системный дизайн ML-сервисовЧто происходит, когда модель недоступна, отвечает медленно или выдаёт мусор.
Observability85%
Наблюдаемость · Системный дизайн ML-сервисовЛоги, метрики и трассировки, по которым можно восстановить, что произошло с конкретным запросом.
Cost Model85%
Экономика сервиса · Системный дизайн ML-сервисовСтоимость одного предсказания и точка, где модель перестаёт окупаться.
LLM Serving85%
Обслуживание LLM · Системный дизайн ML-сервисовОтдельная инженерная дисциплина: KV-кеш, непрерывный батчинг, потоковая отдача и контроль стоимости.
Model Deployment85%
Деплой моделей · MLOpsДоставка модели пользователю: онлайн-сервис, батч-скоринг или встраивание в приложение.
Monitoring85%
Мониторинг · MLOpsНаблюдение за инфраструктурой, данными и качеством предсказаний после релиза.
Docker85%
Docker · MLOpsКонтейнеризация фиксирует окружение целиком: код, зависимости, системные библиотеки.
Kubernetes85%
Kubernetes · MLOpsОркестрация контейнеров: масштабирование, самовосстановление, обновления без простоя.