Как определяешь, что нагрузка на систему невысокая

«Как определяешь, что нагрузка на систему невысокая» — вопрос из категории Мониторинг и логирование, который задают на 23% собеседований Devops Инженер. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Я оцениваю нагрузку на систему по комплексу метрик, а не по одному показателю. «Низкая нагрузка» — понятие относительное, зависящее от baseline конкретного сервиса, но есть общие индикаторы.

Ключевые метрики и их «здоровые» пороги:

Ресурс Метрика Признак низкой нагрузки
CPU system.load.1m (средняя нагрузка) Значение меньше количества CPU ядер (напр., <2 на 4-ядерной системе).
cpu.util (утилизация) Средняя утилизация (user+system) < 30-40% за продолжительное время (15-30 мин).
Память vm.memory.size[available] Доступно > 50% от общей памяти.
Диск I/O vfs.dev.read.ops / vfs.dev.write.ops Низкое количество операций в секунду (зависит от диска, для HDD < 100 iops).
vfs.dev.util (утилизация диска) < 20%.
Сеть net.if.in/out Нет sustained трафика, близкого к пределу интерфейса.

Практический пример запроса в Prometheus для алерта «Низкая нагрузка»:

# Алерт, если за час средняя нагрузка <1 и свободно >70% памяти
avg_over_time(node_load1[1h]) < 1
and
avg_over_time(node_memory_MemAvailable_bytes[1h]) / node_memory_MemTotal_bytes > 0.7

Важно: Низкая нагрузка на продакшн-сервисе может быть как нормой (ночное время), так и признаком проблемы (сервис перестал обрабатывать запросы). Я всегда анализирую эти метрики в связке с бизнес-метриками (RPS, количество активных пользователей).