【问题标题】:node.js performance for amazon EC2 instances with ECU's带有 ECU 的亚马逊 EC2 实例的 node.js 性能
【发布时间】:2013-08-09 09:05:22
【问题描述】:

我有一个 node.js 服务器。我知道 1 个节点进程绑定到 1 个 CPU/CORE。所以我有 2 个 CORE 盒子,我使用集群启动 2 个进程来利用盒子的 2 个 CORE。

但是,我无法理解这将如何与 EC2 实例 ECU 概念一起使用。

例如。一个 m1.large 实例有 2 个 vCPU 和 4 个 ECU(有效计算单元)

当我使用集群启动 node.js 时,它会启动 2 个节点进程。然而,在我有 8 个内核的桌面上,它会启动 8 个节点进程。

现在我想知道具有 2 个内核和 4 个 ECU 的 m1.large 上的 node.js 服务器是否会比只有 2 个内核且没有 ECU 的机器性能更好

请回答我的问题。

【问题讨论】:

    标签: node.js amazon-ec2


    【解决方案1】:

    Amazon ECU 是虚拟核心,因为它们基本上是具有 2 个至强处理器的真正核心的虚拟服务器。因此,具有真正 2 个核心的盒子将比虚拟 ECU 表现更好。而且我不认为亚马逊 ECU 是同一回事像真正的cpu核心Amazon elastic cloud。 到目前为止,我在生产服务器上使用 nodejs 和 EC2,我只需设置两件事来利用 m1.large 实例的最大 cpu 功率。

    1. nginx后面的多个节点进程作为反向代理负载均衡器

      一个。我在不同的端口上设置了不同的nodejs进程。

      b.在它们前面有一个 nginx 负载均衡器,用于在每个线程之间分配负载。

    2. 我还尝试使用 Cluster 模块将子进程与主线程分叉。

    我最终选择了 nginx,因为它的管理比集群少,而且集群还处于实验阶段。

    我还尝试探索更多关于 EC2 和 nodejs 的信息,这是我的另一个答案 Utilizing cpu core with nodejs

    而且我还建议您尝试一些解决方案,并在每种情况下继续监控您的系统,例如 cpu 使用内存 io,最后您会为您的用例获得更好的解决方案。每个应用程序都有自己的要求。因此最好尝试找到您的应用程序真正需要的内容。

    【讨论】:

      猜你喜欢
      • 2010-12-28
      • 2020-05-12
      • 2014-10-08
      • 2014-03-30
      • 2014-09-04
      • 2013-09-28
      • 1970-01-01
      • 2012-08-19
      • 2013-12-23
      相关资源
      最近更新 更多