代码改变世界

客户端频繁的连服务器,由于每次连接都在很短的时间内结束,导致很多的TIME_WAIT

2013-04-11 14:22  胡炯  阅读(580)  评论(0编辑  收藏  举报

原因分析

客户端频繁的连服务器,由于每次连接都在很短的时间内结束,导致很多的TIME_WAIT,以至于用光了可用的端 口号,所以新的连接没办法绑定端口,即“Cannot assign requested address”。是客户端的问题不是服务器端的问题。
确认办法
命令行直接运行netstat,的确看到很多TIME_WAIT状态的连接。
解决办法:
执行命令修改如下2个内核参数

sysctl -w net.ipv4.tcp_timestamps=1 ##开启对于TCP时间戳的支持,若该项设置为0,则下面一项设置不起作用 andhe

sysctl -w net.ipv4.tcp_tw_recycle=1 表示开启TCP连接中TIME-WAIT sockets的快速回收

忘不了你的温柔

 

  3edfdsafdsfsdfds

有关内核级别的keepalive和time_wait的优化调整 3edfdsafdsfsdfds

vi /etc/sysctl

版权所有,禁止恶意利用

 

net.ipv4.tcp_tw_reuse = 1

总有一条,我会爱上你

 

net.ipv4.tcp_tw_recycle = 1 powered by 0abcd.com

net.ipv4.tcp_keepalive_time = 1800

注意:本文抄袭了。大家不要看。

 

net.ipv4.tcp_fin_timeout = 30

powered by 0abcd.com

 

net.core.netdev_max_backlog =8096 亲爱的你睡了吗?

修改完记的使用sysctl -p 让它生效 为什么我的眼里长含泪水

以上参数的注解 总有一条,我会爱上你

/proc/sys/net/ipv4/tcp_tw_reuse 该文件表示是否允许重新应用处于TIME-WAIT状态的socket用于新的TCP连接。 注意:本文抄袭了。大家不要看。

 修改内核参数,快速回收time_wait sockets: 在这个人群中,忽然找到你

[root@centos ~]# echo “net.ipv4.tcp_tw_reuse = 1″ >> /etc/sysctl.conf
# 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭;
[root@centos ~]# echo “net.ipv4.tcp_tw_recycle = 1″ >> /etc/sysctl.conf
# 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。
[root@centos ~]# sysctl -p 在这个人群中,忽然找到你