最近發現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 表示開啟 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 ,表示關閉。
net.ipv4.tcp_fin_timeout 修改系靳默認的 timeout 時間
如此,即可解決apache time_wait連接數太多的問題。
新聞熱點
疑難解答