我有一个node.js服务器。我不认为1节点进程绑定到1个CPU / CORE。所以我有2个CORE盒子,我使用集群启动2个进程来利用盒子的2个CORES。
但是,我无法理解如何使用EC2实例ECU概念。
例如。一个m1.large实例有2个vCPU,有4个ECU(有效计算单元)
当我使用群集启动node.js时,它会启动2个节点进程。但是,在我的桌面上有8个内核,它会启动8个节点进程。
现在我想知道在具有2个核心和4个ECU的m1.large上的node.js服务器是否会比只有2个核心并且没有ECU的盒子更好地执行
请回答我的问题。
答案 0 :(得分:2)
亚马逊ECU是虚拟核心,因为它们基本上是虚拟服务器,具有2个真实核心的至强处理器。所以真正的2核心的盒子将比虚拟ECU表现更好。而且我也不认为亚马逊ECU是同样的事情喜欢真正的cpu核心Amazon elastic cloud。 到目前为止,我正在生产服务器上使用nodejs和EC2,我只需设置两件事来利用m1.large实例的最大CPU功率。
nginx后面的多个节点进程作为反向代理load-balencer
一个。我在不同的端口上设置了不同的nodejs进程。
湾在他们面前有一个nginx负载均衡器o在每个线程上分配负载。
我还尝试使用Cluster模块与主线程分叉子进程。
我最终得到了nginx,因为它的管理比集群少,集群也处于试验阶段。
我还尝试了解更多有关EC2和nodejs的信息,这是我的另一个答案Utilizing cpu core with nodejs。
我还建议您尝试一些解决方案,并在每种情况下继续监控您的系统,如cpu使用内存io,最后您将获得更好的解决方案用于您的用例。每个应用程序都有自己的要求。因此,最好尝试找到您的应用程序真正需要的内容。