大量Time_out的解决办法

7220阅读 0评论2019-04-11 icepole
分类:系统运维

在终端输入:netstat -n |awk '/^tcp/ {++S[$NF]} END {for (a in S) print a,S[a]}'
可以看到 ESTABLISHED 60 TIME_WAIT 46 解释名词: CLOSED :无连接是活动的或正在进行 LISTEN:服务器在等待进入呼叫 SYN_RECV:一个连接请求已经到达,等待确认 SYN_SENT:应用已经开始打开一个连接 ESTABLISHED:正常数据传输状态 FIN_WAIT1:应用说它已经完成 FIN_WAIT2:另一边已同意释放 ITMED_WAIT:等待所有分组死掉 CLOSING:两边同时尝试关闭 TIME_WAIT:另一边已初始化一个释放 LAST_ACK:等待所有分组死掉 看到上面 TIME_WAIT较多,解决办法修改内核参数: vi /etc/sysctl.conf net.ipv4.tcp_syncookies = 1让TIME_WAIT状态可重用,这样即使TIME_WAIT占满了所有端口,也不会拒绝新的请求连接,默认是0 net.ipv4.tcp_tw_reuse = 1 net.ipv4.tcp_tw_recycle = 1 让TIME_WAIT尽快回收默认是0 net.ipv4.tcp_fin_timeout = 30 使配置生效:/sbin/sysctl -p 再查看TIME_WAIT连接: ESTABLISHED 54 TIME_WAIT 1
上一篇:Paas/Iaas/Saas三个概念的形象理解
下一篇:没有了