Infrastructure
autoscaling
Автоматическое добавление или снятие реплик сервиса в зависимости от текущей нагрузки.
Что такое autoscaling
Autoscaling — автоматическое изменение числа реплик сервиса в ответ на изменения нагрузки. При росте трафика добавляются новые GPU-инстансы; при спаде — лишние отключаются для экономии. Это критично для ML-сервисов с переменной нагрузкой: держать GPU в ожидании дорого.
Метрики для autoscaling LLM
Стандартная метрика CPU-utilization не подходит для LLM. Лучше:
- Queue depth — число запросов в очереди > N → добавить реплику
- GPU utilization — GPU утилизация > 85% → добавить реплику
- TTFT p95 — p95 латентности > SLA → добавить реплику
- Tokens/s per GPU — лучше для batch-задач
Kubernetes HPA
# Horizontal Pod Autoscaler для vLLM
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: vllm-hpa
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: vllm-deployment
minReplicas: 1
maxReplicas: 8
metrics:
- type: External
external:
metric:
name: vllm_queue_depth # кастомная метрика
target:
type: Value
value: "5" # держать очередь < 5 запросов
Проблемы autoscaling для GPU
- Холодный старт — загрузка модели занимает 1–5 минут; нужен pre-warming
- Гранулярность — минимальная единица = 1 GPU; не всегда оптимально
- Стоимость — GPU дорогие, важно агрессивно scale-down при спаде
Связанные термины
- load balancer — распределяет нагрузку между репликами
- health check — определяет, готова ли новая реплика
- serving — контекст autoscaling
- spot-инстанс — дешевле для автоматически масштабируемых реплик
Готовы запустить GPU-задачу?
Запустить GPU-сервер