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

时间:2017-02-12 07:41:25

标签: node.js http server request

我正在尝试使用nodejs实现openrtb出价工具,同时运行2个nodejs app实例。 为了测试,我启动了一个简单的hello world节点服务器,并从同一台机器每秒发送100个请求。但响应时间至少需要50-200毫秒,并且每个请求的变化都很大。

我很好奇为什么它会像这样。我期待非常快速的回应,因为: 1)服务器和客户端都在同一台计算机上 2)没有在服务器上处理,只是直接问候世界的响应 3)服务器必须只处理一个客户端

我期待服务器在100毫秒内处理来自同一客户端的数千个请求。

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

1 个答案:

答案 0 :(得分:1)

我怀疑你的设置有问题。

你可以尝试一下吗?

'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