Sobes.tech
Middle
21

Микросервис после нового релиза начал потреблять 100% CPU на всех 20 ядрах. Как будешь определять проблему?

Companies where asked
СБЕРСБЕР

Answer from AI

sobes.tech AI

Для диагностики проблемы с 100% загрузкой CPU после релиза я бы:

  1. Проверил логи и метрики сервиса на предмет ошибок или аномалий.
  2. Использовал профилирование CPU (например, cProfile или py-spy) для выявления горячих точек в коде.
  3. Проанализировал изменения в новом релизе, особенно в циклах и асинхронных вызовах.
  4. Проверил, не возникла ли бесконечная рекурсия или утечка ресурсов.
  5. Запустил сервис в тестовом окружении с отладчиком, чтобы локализовать проблемный участок.

Пример использования py-spy для профилирования:

py-spy top --pid <pid_процесса>

Это позволит увидеть функции, которые потребляют больше всего CPU, и сосредоточиться на их оптимизации.