Высокая нагрузка CPU из-за блокировки сети
Когда сетевые вызовы блокируются, потоки накапливаются, и система выглядит перегруженной по CPU, даже если реальная вычислительная нагрузка низкая.
Common symptoms
- CPU растёт при нагрузках, зависящих от сети
- Пики задержек совпадают с замедлением работы нижестоящих сервисов
- Воркеры накапливаются без полезного прогресса
Likely causes
- Медленные нижестоящие сервисы
- Отсутствие таймаутов
- Синхронные сетевые вызовы в горячих путях выполнения
Evidence to look for
Время ожидания сети возрастает во время инцидентов
Потоки заблокированы на чтении из сокета
CPU снижается при уменьшении сетевой задержки
What it usually means
Система платит за ожидание сетевых ответов, и это отражается как использование CPU при планировании потоков.
What to do next
- 1Добавьте таймауты ко всем сетевым вызовам
- 2Используйте асинхронный или неблокирующий ввод-вывод
- 3Добавьте предохранители (circuit breakers) для медленных зависимостей
See what's causing your CPU
cpum.ai turns CPU, process, disk, and memory signals into plain-English explanations with evidence.
Open cpum.ai