2016-08-30 9 views
0

Предположим, что вы кластерное приложение узла в 4-х процессорной системе, в 4 рабочих (childprocesses = новый экземпляр V8), и каждый рабочий начинает с около 10-мегабайтной памяти (по умолчанию).Есть ли дополнительные настройки для кластера Nodejs?

  1. Есть ли способ начать их с большего количества? например --max-old-space-size=...

  2. И как я могу передать более V8-настройки рабочим?

(+ как strongloop и PM2 справиться с этим;))

ответ

0

Вы можете использовать cluster.setupMaster(), чтобы задать аргументы, переданные рабочим процессам. В частности, есть недокументированный execArgv setting that defaults to process.execArgv, но вы должны иметь возможность передавать любой массив определенных узлов/v8-флагов.

Аргументы приложения передаются через настройку args.

0

Если вы используете PM2, то он использует полный CPU память как по требованию, так как она обеспечивает конфигурацию много для балансировки нагрузки и производительности ,

Если вы хотите использовать CPU с ним, просто увеличить количество экземпляров здесь

pm2 start app.js -i 2

где i это количество экземпляров, которые вы хотите, чтобы начать.

При использовании pm2 следующие шаги являются важными:

pm2 stop all

pm2 delete all

pm2 start app.js -i 2

Всегда используйте pm2 delete all для разрегистрировать CPU, так как если вы остановить его, он по-прежнему оставляет за собой процессор ,