2017-08-03 117 views
0

我最近实施了保活在我的应用程序的NodeJS像这样:的NodeJS - 的keepAlive迹象表明,相同的连接使用

var keepAliveOptions = { 
    keepAlive: true, 
    maxSockets: 1, 
    keepAliveMsecs: 1000 
}; 

,然后通过“keepAliveOptions”下“agentOptions”的请求。 在回复中,我可以看到'keepAlive:true'。

但是有没有办法检查连接的使用次数?或者如果它改变了?

另外,有没有推荐的套接字用于保持活动?

在此先感谢。

回答

1

request.connection对象,它是<net.socket>,对于重新使用套接字的每个请求都是相同的。您可以将侦听器添加到此套接字对象的connect事件中,以统计每个套接字使用的次数。

这是一个基本的例子,相关的,如果你正在使用你的应用程序中的HTTP模块:

server.on("connection", function(connection) { 
    connection.number_of_times_used = 0; 
}); 

server.on("request", function(request) { 
    request.connection.number_of_times_used++; 
    console.log("Request used " + request.connection.number_of_times_used + " times") 
}); 

要回答你的最后一个问题:有插座的不建议使用数量为这一点,因为每个应用程序会有不同的要求和不同的用户数量。在你的情况下,我会坚持1直到你注意到任何性能问题,然后你可以相应地调整maxSockets值。

+0

@ david-faiz如果您想要代码片段向您展示如何执行此操作,请发布代码示例。 – Sam

+0

谢谢你的回复。建议使用什么套接字来保持活跃?如果有的话。 –

+0

@DavidFaiz我已经更新了我的答案。如果你认为我已经回答了你的问题,请考虑接受我的答案为正确答案。 – Sam

相关问题