Короткий ответ Нужно проверить скрытые источники насыщения, которые не отражаются в CPU/памяти: пулы соединений (к БД, к внешним API), очереди запросов, диск I/O и сетевые задержки, а также посмотреть, не деградировала ли latency конкретно у одной из зависимостей сервиса. Как это работает подробнее рост latency при нормальных CPU/памяти часто означает, что запросы "ждут" — в очереди на пул соединений к БД, на ответ от медленного внешнего API, на блокировку (lock) в базе данных, либо на диск при высоком I/O wait. Эти метрики не видны на стандартном дашборде ресурсов узла. Пример / кейс Ожидаемое поведение: если метрика близка к 1 (пул почти полностью занят), запросы начинают ждать свободное соединение — это объясняет рост latency без роста CPU; решение — увеличить пул (с учётом лимитов самой БД) или найти медленные запросы, удерживающие соединения. Пример кода Что использовать на практике Практический подход. Проверяют метрики пула соединений (утилизация, количество ожидающих), трассировку запросов (distribute