2017-08-03 115 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

相關問題