nodejs集群分布连接

时间:2018-04-08 09:55:32

标签: node.js pm2

nodejs api doc中,它说

  

群集模块支持两种分发传入的方法   连接。

     

第一个(除了Windows之外的所有平台上的默认值),   是循环方法,主进程监听a   端口,接受新连接并在工作人员之间分配它们   以循环方式,一些内置智能避免   重载工作进程。

     

第二种方法是主进程创建listen   socket并将其发送给感兴趣的工作人员。然后工人接受了   传入连接直接。

     

理论上,第二种方法应该能够提供最佳性能。在   然而,由于实践,分配往往非常不平衡   操作系统调度程序变幻莫测。已观察到载荷在哪里   超过70%的连接只在两个进程中结束   总共八个。

我知道PM2正在使用第一个,但为什么它不使用第二个?仅仅因为unbalnced distribution?感谢。

1 个答案:

答案 0 :(得分:0)

当每个子进程试图“抓住”发送的套接字主机时,第二个可能会增加CPU负载。