javascript - 不同内核上的多个 node.js 实例

标签 javascript node.js webserver

我想设置 4 个不同的 node.js 实例,每个实例都有自己的核心。 node.js 是将新实例堆叠在同一核心上,还是将它们也设置在新核心上?

这些实例是不相关的并且单独接收请求。我希望 cpu 负载均匀分布。 我一直没能找到这个问题的明确答案。

最佳答案

一般来说,系统会尝试自己完成,以最大限度地利用 cpu。但是,如果你想针对特定的 CPU,你应该查看 TaskSet .它设置了进程的亲和性。

还有几个讨论同一主题的有用问题。看看。

  1. Upstart: each process on different core Nodejs

  2. Node.js - targeting a cpu core

  3. Node.js on multi-core machines

  4. In AmazonEC2 cpu core and nodejs

  5. How to deploy Node.js in cloud for high availability using multi-core

  6. Multi node modlue to utilize cpu

还有一个模块,Cluster ,这对于 CPU 利用率也非常有用。它让您可以 fork 多个进程以将负载分配给多个内核。


更新


最后,我根据 OP 部署了类似的东西。


案例 1.


  1. 我有一个 8 核 cpu 的专用服务器。
  2. 我已经部署了一个单 Node 线程并使用集群模块来分担工作负载(如 pl47ypus 所述) PS:感谢他的回答。
  3. 结果很好,但有时子线程可能会变得无响应,所以我决定尝试我在以前的应用程序中使用的旧流程。

案例 2.


  1. 同一台服务器,我部署了8个不同端口的node.js进程。
  2. 然后我将 nginx 放在这些前面,用工作进程 8 监听端口 80。
  3. 结果比情况 1 好,而且 nginx 配置非常简单,也是最稳定的。

我还建议您只尝试提到的一些解决方案,并在每种情况下继续监控您的系统;像 CPU、内存使用和 io。最后,从您的测试中,您将看到适合您的用例的最佳解决方案。每个应用程序都有自己的要求,因此最好尝试找到您的应用程序真正需要的东西。

关于javascript - 不同内核上的多个 node.js 实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17949970/

相关文章:

javascript - 删除多个文档时Mongo write出现异常

javascript - 将 2 个图像与 node.js 和 gm 合并

node.js - 在nodejs中使用全局变量有多糟糕?

java - 是否可以根据自定义属性在 web.xml 中启用/禁用安全约束?

Android,创建在多个客户端之间传输的在线数据(JSON)的最佳做法是什么?

javascript - 选择的 ID 丢失

javascript - 如何列出特定年份的一个月有多少天?

node.js - 在 mongodb 中查找日期

mysql - 多表 - osticket

javascript - 在特定条件下更改页面(在当前页面显示之前)