Почему nodejs работает не во всю мощность?
У меня есть 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 и получаю нужную мне скорость обработки, но очень интересно почему так происходит и как с этим бороться?