Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – 节点:一个核心,多个进程大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我在网上查了一下,我似乎找到的所有答案都与“Node如何从多核cpu运行中受益?”的问题有关.

但.如果您的计算机只有一个核心,则您只能在任何给定时间运行一个进程. (我在这里虑任务安排).节点使用单线程模型.

我的问题:在任何情况下,在一个核心中运行多个节点进程是否有意义?如果进程是一个侦听端口的Web服务器,那么只有一个进程可以监听,这怎么能工作呢?

解决方法@H_696_12@

是的,有一些场景.详情见下文.

node.js集群模块创建一个场景,其中所需端口上有一个侦听器,但传入请求在所有集群进程之间共享.更多细节要遵循……

您可以使用群集模块运行多个进程,这些进程都配置为处理同一端口上的传入请求.如果您想知道如何在不同的集群进程之间共享传入请求,您可以阅读this blog post中的说明.简而言之,最终只有一个侦听器在所需的端口上,并且传入的请求在各个集群进程之间共享.

至于你是否可以从比核心更多的流程中受益,答案是它取决于你正在寻找什么类型的利益.如果您具有包含所有异步I / O的正确编写的服务器,则添加比核心更多的进程可能无法提高整体吞吐量(通过服务器可以处理的每秒请求数来衡量).

但是,如果您的请求中有任何cpu繁重的处理,那么在同时请求之间进行更多进程可能会提供更公平的调度,因为操作系统将在您的每个进程之间“共享”cpu.这可能会略微降低整体吞吐量(因为任务在进程之间切换cpu的额外开销),但是当有多个请求一起处理时,它可以使请求处理更加均匀.

如果您的请求没有太多的cpu处理并且实际上只是在等待I / O大部分时间,那么添加更多进程而不是内核可能没什么好处.

所以,这实际上取决于您想要优化的内容以及您的情况.

大佬总结

以上是大佬教程为你收集整理的node.js – 节点:一个核心,多个进程全部内容,希望文章能够帮你解决node.js – 节点:一个核心,多个进程所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。