0
我已經通過擴展NanoHTTPD(1.25)構建了嵌入式Web服務器。它用於Firefox瀏覽器在同一臺機器上顯示其內容。 (SuSE 11)減少未使用的Firefox連接
由於Firefox需要在很短的時間內(0.2秒刷新)顯示更改內容,因此它會非常快速地輪詢JSON URL。
setInterval(function() {
$.getJSON("content.json", function(d) {
...
$('#content_div').html(d);
})
.error(function() {
$('#content_div').html("");
});
}, 200);
其結果是,它創造了大量未使用的連接,有時無法從我的Web服務器的任何響應。
netstat -ap |grep "localhost:80" |wc -l
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
2212
爲什麼有那麼多的TIME_WAIT連接?如何讓我的網絡服務器健康並確保我的網絡服務器的響應?
如前所述,客戶端和服務器都在同一臺機器上。這只是一對一的。隨着內容在毫秒內保持變化,有必要具有這樣的刷新持續時間。此前我比較了setInterval和setTimeout之間的性能。 setInterval可以達到我的要求。我可以讓SuSE刪除失敗的連接嗎? – 2014-10-30 07:08:00
它們是否是本地主機或其他服務器是無關緊要的。什麼是一對一?不知道SuSE能否做到這一點,但這會掩蓋問題,而不是解決問題。您可以嘗試減少超時,以便更快地獲得連接。 – CharlieS 2014-10-30 23:21:35
有人建議強制/ proc/sys/net/ipv4/tcp_tw_recycle和/ proc/sys/net/ipv4/tcp_tw_reuse成爲一個。我試過這個,netstat -ap | grep「localhost:80」| wc -l的結果變得小於100.但是我不知道這個系統改變的方式是否正確和可靠。 – 2014-12-04 06:06:09