【发布时间】:2018-04-08 09:55:31
【问题描述】:
在nodejs api doc 中,它说
cluster 模块支持两种分发传入的方法 连接。
第一个(以及除 Windows 之外的所有平台上的默认值), 是循环方法,主进程监听一个 端口,接受新连接并将它们分配给工作人员 以循环的方式,使用一些内置的智能来避免 重载工作进程。
第二种方法是主进程创建监听 套接字并将其发送给感兴趣的工人。然后工人们接受 直接传入连接。
理论上,第二种方法应该提供最佳性能。在 然而,在实践中,分配往往非常不平衡,因为 操作系统调度程序变幻莫测。已观察到负载 超过 70% 的连接仅在两个进程中结束,其中一个 一共八个。
我知道 PM2 使用的是第一个,但为什么不使用第二个?就因为unbalnced distribution?谢谢。
【问题讨论】: