1,
参数调整后TIME_WAIT数量
修改Linux内核参数,减少TCP连接中TIME_WAIT
web系统中内核参数调整对web性能的影响是巨大的,相关感知需亲身体验!!
在一定有限资源(CPU/Memory)情况下,使用通过调整内核相关参数可以在很大程度上提高web 系统性能,优化访问体验--浏览器web站点响应-视觉感知...
通过修改相关内核参数也无法解决的负责及性能问题,需通过升级资源
Linux系统下,Tcp/ip连接断开后,会以TIME_WAIT状态保留一定时间(为什么呢?原因很多-tcp_tw_reuse...)
假设并发 web Concurrency 量很大,此时变会产生大量的TIME_WAIT状态连接,无法及时断开这些连接会占用大量的服务器资源(if Time_Wait Closed;process exit and resource release)
这种情况可以考虑优化Tcp/Ip内核参数,及时将TIME_WAIT状态的端口清理掉
Linux系统查看当前Tcp/ip连接状态和对应个数
#netstat -na | awk '/^tcp/ {++s[$NF]} END {for(a in s) print a,s[a]}'
/etc/sysctl.conf
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
net.ipv4.tcp_fin_timeout = 5