我有一个ajax应用程序,每3秒发出一个请求,请求的页面将头部设置为(header(“Connection:Keep-Alive,close”);)然后执行数据库查询并返回最新的数据。
TIME_WAIT的值是60秒,所以即使困难我closures我请求的页面中的连接(即“连接:保持活着,closures”),连接似乎存在了接下来的60秒(这发生每个Ajax请求我做的),所以在1分钟内发出了20个请求,并且该IP的总TIME_WAIT似乎在20左右
是否有可能减lessTIME_WAIT说15秒,减less整体TIME_WAITS,或者是否有可能在每个Ajax请求后强制连接closures
任何帮助将不胜感激
谢谢
你可以使用net.ipv4.tcp_fin_timeout内核参数:
# sysctl net.ipv4.tcp_fin_timeout=15
编辑/etc/sysctl.conf,加到最后
net.ipv4.tcp_fin_timeout = 15
然后运行:
# sysctl -p
Connection: keep-alive, close是无效的HTTP 1.1,因为只有一个连接令牌是允许的,所以我希望这个头文件被忽略并保持活跃状态。 在HTTP 1.0中,“连接”标签意味着完全不同的东西。
连接是否被“回收”应该没有技术上的区别,你应该把这个select留给浏览器。 玩FIN超时几乎不是一个好主意。