Como definir o tempo limite HTTP Keep-Alive em um servidor nodejs
Eu estou realmente fazendo algum teste de carga contra um servidor ExpressJS, e notei que a resposta enviada pelo servidor inclui um cabeçalho "Connection: Keep-Alive". Pelo que entendi, a conexão permanecerá aberta até que o servidor ou o cliente envie um cabeçalho "Conexão: Fechar".
Em algumas implementações, o cabeçalho "Conexão: Keep-Alive" apresenta um cabeçalho "Keep-Alive", que define o tempo limite da conexão e o número máximo de solicitações consecutivas enviadas por meio dessa conexão.
Por exemplo: "Keep-Alive: timeout = 15, max = 100"
Existe uma maneira (e é relevante) para definir esses parâmetros em um servidor expresso?
Se não, você sabe como o ExpressJS lida com isso?
Editar: Após algumas investigações, descobri que o tempo limite padrão é definido nobiblioteca http padrão do nó:
socket.setTimeout(2 * 60 * 1000); // 2 minute timeout
Para mudar isso:
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end("Hello World");
}).on('connection', function(socket) {
socket.setTimeout(10000);
}).listen(3000);
De qualquer forma, ainda parece um pouco estranho para mim que o servidor não envie nenhuma dica para o cliente sobre seu tempo limite.
Edit2: Graças a josh3736 por seu comentário.
setSocketKeepAlive não está relacionado ao keep-alive de HTTP. É uma opção de nível de TCP que permite detectar que a outra extremidade da conexão desapareceu.