#查看连接状态汇总 netstat -n|awk '/^tcp/{++gyk[$NF]}END{for(a in gyk)print a,gyk[a]}' #变量a不能替换为别的(比如i) TIME_WAIT 10046 ESTABLISHED 158 #解决timewait过多的问题 1.设置超时时间 2.重用 3.系统对此状态回收 #如果socket由本端要求关闭,这个参数决定它保持在FIN-WAIT-2状态的时间(也就是自己收到第四次断开的等待时间) net.ipv4.tcp_fin_timeout = 2 #开启重用,允许将TIME-WAIT socket重新用于新的TCP连接,默认为0(关闭) net.ipv4.tcp_tw_reuse = 1 #开启TCP连接中TIME-WAIT sockets的快速回收 net.ipv4.tcp_tw_recycle = 1 #开启SYN Cookie。当出现SYN等待队列溢出时,启动cookies来处理,可防范少量SYN攻击 net.ipv4.tcp_syncookies = 1 #设置长链接时间 net.ipv4.tcp_keepalive_time = 1200 #用于向外连接的端口范围 net.ipv4.ip_local_port_range = 4000 65535 #设置SYN队列的长度 net.ipv4.tcp_max_syn_backlog = 16384 #系统同时保持TIME_WAIT状态的socket的最大数量,如果超过这个数字,TIME_WAIT将被立即清除,并打印警告信息(web服务器5000-30000,分发和缓存可以调大一些) net.ipv4.tcp_max_tw_buckets = 30000 #路由缓存刷新频率 net.ipv4.route.gc_timeout = 100 #三次握手第一次握手失败的重连次数 net.ipv4.tcp_syn_retries = 1 #三次握手第二次握手失败的重连次数 net.ipv4.tcp_synack_retries = 1
本文转自 msj0905 51CTO博客,原文链接:http://blog.51cto.com/sky66/1686724