如何处理HTTP请求对Node.js性能的影响

如何处理HTTP请求对Node.js性能的影响,node.js,performance,express,load,Node.js,Performance,Express,Load,我在Node.js中构建了一个简单的API网关/BFF,它监听一个端口并调用另外两个服务 const express = require('express') const axios = require('axios') const app = express() app.get('/', (request, reply) => { const promise1 = axios.get('http://localhost:5000/p') const promise2

我在Node.js中构建了一个简单的API网关/BFF,它监听一个端口并调用另外两个服务

const express = require('express')
const axios = require('axios')

const app = express()


app.get('/', (request, reply) => {
    const promise1 = axios.get('http://localhost:5000/p')
    const promise2 = axios.get('http://localhost:5000/s')
    return Promise.all([promise1, promise2]).then(([res1, res2]) => {
    reply.send('done')  
    })
})

app.listen(4000, () => {
  console.info(`server listening`)
})
该端点应该处理中等负载(例如每秒500个请求)

在我的本地机器上,使用负载测试工具,这个端点每秒不能服务超过100个请求,而如果我不执行任何HTTP请求,只返回一个简单的JSON,则可以服务的请求大约为10000个。CPU似乎是瓶颈


有没有什么方法可以提高我所缺少的性能

实际上,我开始考虑的不仅仅是CPU,问题是可用的套接字。我注意到设置
httpAgent=newhttp.Agent({keepAlive:true})的性能提高了2倍。然而,对于我所期望的,它仍然太低了。实际上,我开始考虑的不仅仅是CPU,问题是可用的套接字。我注意到设置
httpAgent=newhttp.Agent({keepAlive:true})的性能提高了2倍。然而,它仍然太低了,超出了我的预期