Что в скрипте NodeJS может нагружать CPU и как отследить где именно в коде возникает такая ситуация?

Здравствуйте. Стал замечать, что один скрипт сокет-сервера нагружает очень сильно процессор. Причем если отключить этот скрипт, то нагрузка на процессор пропадёт. Подскажите, пожалуйста, на что в первую очередь стоит обратить внимание.
  • Вопрос задан
  • 1374 просмотра
Пригласить эксперта
Ответы на вопрос 4
alexiusp
@alexiusp
senior frontend developer
Две относительно затратные операции, о которых часто забывают - console.log (и вообще вывод куда-либо) и JSON.parse/stringify - посмотрите не часто ли вы ими пользуетесь. Особенно парсинг JSON можно хорошо оптимизировать, если подумать, где и как используется результат.
Ответ написан
Комментировать
VELIK505
@VELIK505
Руководитель департамента profitcentr.com
В первую очередь запускать ноду в кластере.
Node.js 100% cpu 1ого ядра 3400MHZ при 5000 соединениях. Что не так? - почитай может чё и поможет. а так надо смотреть логику чё делает скрипт и что используется.
Ответ написан
Комментировать
Можно наблюдать при помощи вызова утилиты strace.
sudo strace -c -p <PID>
Также www.brendangregg.com/FlameGraphs/cpuflamegraphs.html
Там же пример для профилирования Node.js.
dtrace.org/blogs/dap/2012/01/05/where-does-your-no...
Ответ написан
Комментировать
MDiMaI666
@MDiMaI666
Талантливый программист
Научиться пользоваться дебагером, или профилировщиком visual studio
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы