Почему nodejs работает не во всю мощность?

Рейтинг: 1Ответов: 0Опубликовано: 21.06.2023

У меня есть nodejs скрипт (app.js), который использует puppeteer-cluster.

Есть сервер с 28 ядрами.

Если я запускаю app.js с maxConcurrency = 50, все работает хорошо. Но если я поставлю например 70 или более, то появляется куча ошибок из-за того что браузера начинают работать очень медленно (как будто интернет становится медленным, не успевает загрузиться страница).

по нагрузке на ядра видна что нагружено меньше половины, и то нагрузка не большая.

я сразу пинал на сервер, ну мало ли...

после пришла идея запустить одновременно 4 экземпляра скрипта с maxConcurrency = 50 , то есть суммарно стало 200.

и на удивление - все 4 экземпляра отрабатывают на отлично, как будто я запустил 1 экземпляр, но при этом скорость работы x4 :) и видно что сервер стал нагружаться посерьезнее, то есть nodejs стал потреблять доступные ресурсы.

почему так происходит? почему 1 экземпляр app.js с maxConcurrency = 200 не берет все доступные ресурсы системы? как будто что-то ограничивает его.

стоит чистая Ubuntu 22.

конечно я запускаю сейчас 4 экземпляра app.js и получаю нужную мне скорость обработки, но очень интересно почему так происходит и как с этим бороться?

Ответы

Ответов пока нет.