如何使用Node Http Server Keep Alive

How To use Node Http Server Keep Alive

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

我花了几个小时试图解决这个问题——也许我在其他地方遇到了问题——所以简单来说,应该如何设置保持活动状态?

我已经设置了相关的headers并尝试了以下我在网上找到的方法:

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 崩溃,因为它 headers 使它认为连接在不活动时保持活动状态。我正在做的任何事情似乎都无法让我保持连接打开。请指教:)

我似乎无缘无故地陷入了混乱;看来我最初的实现没有任何问题;但是,当 运行 在 ApacheBench 中测试时,我 运行 遇到了临时端口限制的问题。 Daniel Mendel 的这篇博客 post 解释了这个问题:here