如何减少单个客户端的服务器响应时间和每秒数千个请求?

问题描述:

我正在尝试使用nodejs实现一个openrtb出价工具,同时运行两个nodejs应用程序实例。 为了测试,我启动了一个简单的hello world节点服务器,并从同一台机器发送每秒100个请求。但响应时间至少需要50-200毫秒,而且每个请求的响应时间也不尽相同。如何减少单个客户端的服务器响应时间和每秒数千个请求?

我很好奇为什么它的行为如此。我期待非常快速的响应,因为: 1)服务器和客户端是同一台计算机 2)在服务器中没有处理,只是一个直接的hello world响应上 3)服务器只需要处理一个客户端

我希望服务器能够在100ms内处理来自同一客户端的数千个请求。

有什么办法可以改善我节点服务器的响应时间(除了使用已经尝试过的多个实例)。

我怀疑你的设置有问题。

你可以试试吗?

'use strict'; 

const http = require('http'); 

const document = Buffer.from('Hello world!'); 

const server = http.createServer((req, res) => { 
    // handle some POST data 
    if (req.method === 'POST') { 
     var body = []; 
     req.on('data', (chunk) => { 
      body.push(Buffer.from(chunk)); 
     }).on('end',() => { 
      res.end('You posted me this: ' + Buffer.concat(body).toString()); 
     }); 
    // handle some GET url 
    } else if (req.url === '/') { 
     res.end(document); 
    } else { 
     res.end('Unknown request by: ' + req.headers['user-agent']); 
    } 
}); 

server.listen(3000); 

他们声称他们可以处理1M requests per second

+0

嗨,我试着和你给的代码一样。但你是否打算给'uwt.http.createServer'而不是'http.createServer'代码? –