程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了在所有 CPU 内核上运行 NodeJS 以实现最大的硬件潜力大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决在所有 CPU 内核上运行 NodeJS 以实现最大的硬件潜力?

开发过程中遇到在所有 CPU 内核上运行 NodeJS 以实现最大的硬件潜力的问题如何解决?下面主要结合日常开发的经验,给出你关于在所有 CPU 内核上运行 NodeJS 以实现最大的硬件潜力的解决方法建议,希望对你解决在所有 CPU 内核上运行 NodeJS 以实现最大的硬件潜力有所启发或帮助;

硬件:

我在具有 4 核 cpu 和 6GB RAM 的 VMware Workstation 上运行 Ubuntu 20.04 虚拟机

问题:

我一直在寻找如何提升我的 NodeJs 服务器,其中一个解决方案是利用我现在正在做的处理器的所有 cpu 内核。

这是我名为 server.Js 的入口文件:

const express = require("express");

const app = express();

app.use("/",async (res,req) => {
  req.status(200).send('success');
});

app.Listen(4300);

pm2 的帮助下,我产生了最大数量的集群 pm2 start server.Js -i max 并且我正在实现此日志:

在所有 CPU 内核上运行 NodeJS 以实现最大的硬件潜力

autocAnnon 的帮助下,我将此服务器定位为“DDoS”类型,以监控处理多个并发请求的效果。

代码如下:

const cAnnon = require('autocAnnon')

const localHost = 'http://localhost:4300'

async function startmockUp() {
    let result = await cAnnon({
      url: localHost,// target url
      connections: 10000,pipelining: 1,duration: 10 // seconds
    })

    console.log('request',result.requests)
}

startmockUp()

这是第一次运行的输出:

在所有 CPU 内核上运行 NodeJS 以实现最大的硬件潜力

现在我正在尝试做同样的事情,但只运行一个集群:

在所有 CPU 内核上运行 NodeJS 以实现最大的硬件潜力

得到这个结果:

在所有 CPU 内核上运行 NodeJS 以实现最大的硬件潜力

如您所见,除了单个集群能够处理更多请求之外,我并没有实现运行 4 个并发集群的 x4 加速。

为什么会这样?

我做错了吗?

是否有解决方法来获得更好的结果?

解决方法

虑使用 cluster to fork off the processes。这是在一台机器上使用多个节点实例的标准方法。我的想法是,按照您启动流程的方式,只有一个实例实际处理请求。

大佬总结

以上是大佬教程为你收集整理的在所有 CPU 内核上运行 NodeJS 以实现最大的硬件潜力全部内容,希望文章能够帮你解决在所有 CPU 内核上运行 NodeJS 以实现最大的硬件潜力所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:CPU在所有