如何使用节点Http服务器保持活动

时间:2018-08-29 16:23:06

标签: node.js http keep-alive

我花了一段时间使用http库设置我自己的服务器,当我使用jmeter对其进行负载测试时,我注意到我没有对其进行设置以利用keep-alive。

我花了数小时试图弄清楚这一点-也许我在其他地方遇到了问题-因此,用非常简单的话来说,应该如何保持生命?

我已经设置了相关的标题,并尝试了以下在线找到的方法:

server.on('connection', (socket: Socket) => {
            socket.setTimeout(30 * 1000);
            socket.setKeepAlive(true);
        })

handleRequest(request: http.IncomingMessage, response: http.ServerResponse) : void {
        request.socket.setKeepAlive(true);
        request.socket.write('hello, world');
        request.socket.end();
}

这些只是导致jmeter崩溃,因为它的标头使其认为连接在未连接时仍保持活动状态。我正在执行的任何操作似乎都无法使连接保持打开状态。请指教:)

1 个答案:

答案 0 :(得分:1)

我似乎一无所获。我原来的实现似乎没有任何问题;但是在ApacheBench中运行测试时遇到了临时端口限制问题。丹尼尔·门德尔(Daniel Mendel)的博客文章解释了该问题:here