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