Nodejs集群有更多设置吗?
Are there more settings for Nodejs cluster?
假设您将节点应用程序集群在一个 4 CPU 系统上,在 4 个工作程序(子进程=新 V8 实例)中,每个工作程序开始时有大约 10mb 内存(默认)。
有没有办法让他们开始更多?像
--max-old-space-size=...
我怎样才能将更多的 V8 设置传递给工作人员?
( + strongloop 和 PM2 如何处理它?;))
如果您正在使用 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,因为如果你停止它,它仍然保留CPU。
您可以使用 cluster.setupMaster()
to set the arguments passed to worker processes. Specifically there is an undocumented execArgv
setting that defaults to process.execArgv
,但您应该能够在那里传递任何 node/v8-specific 标志数组。
应用程序参数通过 args
设置传递。
假设您将节点应用程序集群在一个 4 CPU 系统上,在 4 个工作程序(子进程=新 V8 实例)中,每个工作程序开始时有大约 10mb 内存(默认)。
有没有办法让他们开始更多?像
--max-old-space-size=...
我怎样才能将更多的 V8 设置传递给工作人员?
( + strongloop 和 PM2 如何处理它?;))
如果您正在使用 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,因为如果你停止它,它仍然保留CPU。
您可以使用 cluster.setupMaster()
to set the arguments passed to worker processes. Specifically there is an undocumented execArgv
setting that defaults to process.execArgv
,但您应该能够在那里传递任何 node/v8-specific 标志数组。
应用程序参数通过 args
设置传递。