Вступить в клуб →
лёгкаявопросПотоки, память и производительность процесса

На сервере восемь ядер, а сервис упирается в 100% одного ядра

Сервис на Node.js запущен одним процессом node server.js на машине с восемью ядрами. Под нагрузкой мониторинг показывает: одно ядро загружено на 100%, остальные почти простаивают, время ответа растёт.

Как использовать все ядра?

  • Запустить несколько процессов: модуль cluster, PM2 или несколько реплик
  • Увеличить размер пула потоков libuv через UV_THREADPOOL_SIZE
  • Переписать обработчики на async/await
  • Включить флаг --max-old-space-size

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела