使用ECU的amazon EC2实例的node.js性能

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

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

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

当我使用群集启动node.js时,它将启动2个节点进程。 但是,在我的8核心的桌面上,它启动了8个节点进程。

现在我想知道是否node.js切割m1.large与2核心和4个ECU将执行比只有2个CORES和没有ECU

请回答我的查询。

亚马逊ECU是虚拟的核心,因为它们基本上是虚拟的,有2个真正的核心的Xeon处理器。因此,一个真正的2核心的盒子比虚拟的ECUperformance更好。而且我也不认为亚马逊ECU和真正的东西是一样的cpu核心亚马逊弹性云 。 至于我在我的生产服务器上使用nodejs和EC2,我简单地设置了两件事来利用m1.large实例的最大CPU功率。

  1. nginx作为反向代理load-balencer后面的多节点进程

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

    湾 在它们的前面,一个nginx负载平衡器在每个线程之间分配负载。

  2. 我也尝试使用Cluster模块与主线程分派subprocess。

我终于以nginx结束了,因为它比cluster更lesspipe理,cluster也处于实验阶段。

我也尝试了解更多关于EC2和nodejs的信息,这里是我的另一个答案利用cpu核心和nodejs 。

而且我也build议你只是尝试一些解决scheme,并保持监视你的系统在每种情况下,如CPU使用内存IO,最后你会得到更好的解决scheme,为您的使用情况。 每个应用程序都有自己的需求。所以最好试着找出你的应用程序真正需要的东西。