我有一个ajax应用程序,每3秒发出一次请求,请求的页面将头设置为(头(连接:保持活动,关闭);然后执行数据库查询并返回最新数据。
TIME_WAIT的值是60秒,所以即使严格地关闭请求页面中的连接(即“连接:保持活动,关闭”),连接似乎在接下来的60秒内存在(这发生在我提出的每一个Ajax请求中),因此在1分钟内发出了20次请求,该IP的总TIME_WAIT似乎是20次左右。
是否可以将TIME_WAIT缩短为15秒,减少整个TIME_WAITS,还是可以在每个Ajax请求之后强制关闭连接?
如有任何帮助,将不胜感激。
谢谢
发布于 2011-02-28 13:15:31
您可以使用net.ipv4.tcp_fin_timeout内核参数:
# sysctl net.ipv4.tcp_fin_timeout=15编辑/etc/sysctl.conf,添加到末尾
net.ipv4.tcp_fin_timeout = 15然后跑:
# sysctl -p发布于 2011-02-28 13:19:36
Connection: keep-alive, close是无效的HTTP1.1,因为只允许一个连接令牌,所以我希望这个标头会被忽略并保持活动状态;在HTTP1.0中,"Connection“标记的含义完全不同。
无论连接是否被“回收”,技术上应该没有区别,您应该将这一选择留给浏览器。玩鳍暂停几乎不是一个好主意。
https://serverfault.com/questions/241131
复制相似问题