nodejs – 群集中工作人员的最佳数量

在多核处理器上对nodej进行聚类时, 我通常会看到一些例子 ,

const numCPUs = require('os').cpus().length; for (let i = 0; i < numCPUs; i++) { cluster.fork(); } 

我的问题是 –

  1. 如果一个多核处理器正在运行一个反向代理终止ssl(cpu密集型),gzip(cpu密集型)以及其他东西的networking应用程序,还有其他服务器正在执行主要nodejs服务器的cpu密集型工作,产生与CPU核心数量一样多的工人(对于主节点服务器)?

  2. 应该运行什么样的testing来find最佳的工人数量?

  1. 您可以将进程的关联性设置为一组核心 。

  2. 你应该有一个工人每核心可用的核心。 我认为可用核心是一个不会被其他进程大量使用的核心。

为确保一切正常,您的(CPU load / number of cores)应低于1。

试着用很less的服务/进程来configuration你的机器。 这可能起初看起来很浪费,但是通过限制级联故障的影响,它可以帮助MMTD和MMTR处理事件。

注意:这个问题通常在服务器错误 ,另一个堆栈交换站点更好的问。