nodejs – 群集中工作人员的最佳数量
在多核处理器上对nodej进行聚类时, 我通常会看到一些例子 ,
const numCPUs = require('os').cpus().length; for (let i = 0; i < numCPUs; i++) { cluster.fork(); }
我的问题是 –
-
如果一个多核处理器正在运行一个反向代理终止ssl(cpu密集型),gzip(cpu密集型)以及其他东西的networking应用程序,还有其他服务器正在执行主要nodejs服务器的cpu密集型工作,产生与CPU核心数量一样多的工人(对于主节点服务器)?
-
应该运行什么样的testing来find最佳的工人数量?
-
您可以将进程的关联性设置为一组核心 。
-
你应该有一个工人每核心可用的核心。 我认为可用核心是一个不会被其他进程大量使用的核心。
为确保一切正常,您的(CPU load / number of cores)
应低于1。
试着用很less的服务/进程来configuration你的机器。 这可能起初看起来很浪费,但是通过限制级联故障的影响,它可以帮助MMTD和MMTR处理事件。
注意:这个问题通常在服务器错误 ,另一个堆栈交换站点更好的问。