apache time_wait连接数太多问题解决方法
最近发现apache与负载均衡器的的连接数过多,而且大部分都是time_wait,调整apache2.conf后也没效果。
通过调整内核参数解决:
vi/etc/sysctl.conf
编辑文件,加入以下内容:
net.ipv4.tcp_syncookies=1 net.ipv4.tcp_tw_reuse=1 net.ipv4.tcp_tw_recycle=1 net.ipv4.tcp_fin_timeout=30
然后,执行/sbin/sysctl-p让参数生效。
net.ipv4.tcp_syncookies=1表示开启syncookies。当出现syn等待队列溢出时,启用cookies来处理,可防范少量syn攻击,默认为0,表示关闭;
net.ipv4.tcp_tw_reuse=1表示开启重用。允许将time-waitsockets重新用于新的tcp连接,默认为0,表示关闭; net.ipv4.tcp_tw_recycle=1表示开启tcp连接中time-waitsockets的快速回收,默认为0,表示关闭。 net.ipv4.tcp_fin_timeout修改系靳默认的timeout时间
如此,即可解决apachetime_wait连接数太多的问题。