CentOS Linux 使用netstat -anp|grep :80 时发现很多time_wait,我们可以通过修改一些内核参数来调整:
		
				
		
		
				vi /etc/sysctl.conf
		
		
				
		
		
				
						1、编辑文件,加入以下内容:
				
		
		
				
		
		
				net.ipv4.tcp_syncookies = 1
				net.ipv4.tcp_tw_reuse = 1
				net.ipv4.tcp_timestamps = 1
				net.ipv4.tcp_tw_recycle = 0
				net.ipv4.tcp_fin_timeout = 5
		 
		
				
		
		而后命令行执行 sysctl -p 让参数生效。
		
				
		
		以上设置参数说明:
		
				
		
		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,表示关闭。生产环境建议不要开启,原因在客户假如是nat访问,那么timestamps不一致,会导致时间戳错乱,nat客户无法访问,这就是为什么开启后会有大量异常或突然断线的用户。
		
				
		
		net.ipv4.tcp_fin_timeout 修改系統默认的TIMEOUT时间
		
				
		
		
				
						2、修改之后,再用命令查看TIME_WAIT连接数   
				
		
		
				
						
				
		
		
				netstat -ant | grep “TIME_WAIT” | wc –l