javascript - Nodejs主进程是否使用了所有CPU内存?

标签 javascript node.js process load-balancing node-cluster

试图了解 NodeJS 在 CPU 内存使用方面的工作原理,我们在产品中有 4 个实例,它们由于繁重的工作而速度减慢,并且我们有负载均衡器。 在实例/应用程序级别添加 Node 集群是否有意义,以便我们可以使用 cluster.fork 来使用所有硬件功能,以便所有子进程也可以直接监听端口。向负载均衡器添加更多实例或添加 Node 集群或第三方 PM2 等来处理重负载的更好方法是什么?

最佳答案

扩展 Node 应用程序的方法 - cluster.fork 或负载平衡多个实例 - 将会起作用。

如果负载平衡在没有 pm2 的情况下工作,此时将其添加到混合中可能没有意义,因为复杂性。

需要考虑的另一件事:如果您的 NodeJS 实例运行 https 服务器,而不是 http 服务器,您可能需要使用 nginx 作为反向代理,并拥有它处理 https 加密工作。您可以让 nginx 将请求转发到位于 http://localhost:3000 的 Node 实例。 https - 处理是计算密集型的,nginx 比 Nodejs 更高效。

关于javascript - Nodejs主进程是否使用了所有CPU内存?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59668294/

相关文章:

javascript - 在后台从 React 组件制作 HTML 字符串,如何在另一个 React 组件中通过 dangerouslySetInnerHTML 使用该字符串

javascript - 如何优雅地从 DOM 中添加和删除元素

javascript - Mongoose/MongoDB - 如何在聚合查询中使用 promise

c - 在子进程中操作流

java - java中在进程中创建线程

javascript - 未捕获的类型错误 : $(. ..)。Datatable 不是函数。但在我调用 datatable 之前 Jquery 已经加载了

javascript - 处理 `Controller As` 语法时如何访问隔离范围 API 字段?

javascript - 从vue观察者获取长度值

javascript - 如果重新初始化, module.export.variable 始终是一个空对象

C#:逐行获取外部shell命令结果