改Linux内核参数,减少TCP连接中的TIME-WAIT sockets


改Linux内核参数,减少TCP连接中的TIME-WAIT sockets
 
tcp状态: 
LISTEN:侦听来自远方的TCP端口的连接请求 
SYN-SENT:再发送连接请求后等待匹配的连接请求 
SYN-RECEIVED:再收到和发送一个连接请求后等待对方对连接请求的确认 
ESTABLISHED:代表一个打开的连接   www.2cto.com  
FIN-WAIT-1:等待远程TCP连接中断请求,或先前的连接中断请求的确认 
FIN-WAIT-2:从远程TCP等待连接中断请求 
CLOSE-WAIT:等待从本地用户发来的连接中断请求 
CLOSING:等待远程TCP对连接中断的确认 
LAST-ACK:等待原来的发向远程TCP的连接中断请求的确认 
TIME-WAIT:等待足够的时间以确保远程TCP接收到连接中断请求的确认 
CLOSED:没有任何连接状态   www.2cto.com  
 
服务器的tcp状态代码  
netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}'  
 
  vi /etc/sysctl.conf 
  编辑/etc/sysctl.conf文件,增加三行: 
引用 
Java代码  
net.ipv4.tcp_syncookies = 1  
net.ipv4.tcp_tw_reuse = 1  
net.ipv4.tcp_tw_recycle = 1  
  www.2cto.com  
  说明: 
  net.ipv4.tcp_syncookies = 1 表示开启SYN Cookies。当出现SYN等待队列溢出时,启用cookies来处理,可防范少量SYN攻击,默认为0,表示关闭; 
  net.ipv4.tcp_tw_reuse = 1 表示开启重用。允许将TIME-WAIT sockets重新用于新的TCP连接,默认为0,表示关闭; 
 
  net.ipv4.tcp_tw_recycle = 1 表示开启TCP连接中TIME-WAIT sockets的快速回收,默认为0,表示关闭。 
  再执行以下命令,让修改结果立即生效: 
Java代码  
/sbin/sysctl -p  
 

相关内容

    暂无相关文章