每个核心可以初始化多少个Node.js应用程序集群?

时间:2016-09-09 18:12:02

标签: node.js

我曾经搜索过每个核心可以初始化多少个集群,而且我读到的所有文章都令人遗憾,每个核心一个节点就足够了。因此,我没有找到一个很好的解释。

我有一个使用大量i / o的应用程序,只进行少量计算,例如从队列中推送/删除然后将任务安排到数据库。对于这个应用程序,我已经为每个核心初始化了5个集群,并且它增加了我可以接收的请求数量。但是服务器中的负载平均值非常高,有时约为30。

关键是,使用这种方法的副作用是什么(每个核心多个节点)?

1 个答案:

答案 0 :(得分:0)

单个核心一次只能运行一个进程。

在您的计算机上运行的大多数进程大多处于空闲状态(他们坐在那里等待某些事情发生),这就是您可以在计算机上运行数十个或数百个进程而没有太多问题的方法。

然而,活动的进程,做了很多事情(就像你的进程一样;在这种情况下,很多I / O也很重要),让CPU内核非常繁忙。因此,每个核心启动多个此类进程是没用的,因为它们都将争夺该核心的时间片。

这也是您获得高负载平均值的原因,这表示有多少进程使用 CPU,或等待使用CPU。< / p>