将项目部署到linux上后,发现系统有大量的TIME_WAIT状态的链接,大量TIME_WAIT状态的链接不能被及时回收导致的结果就是系统可用socket被耗尽而无法处理新的请求。对于http协议的短连接请求,应该要防止产生大量的TIME_WAIT,我们可以通过设置linux网络参数来达到目的,步骤如下:
1、编辑sysctl.conf
#cd /etc/
#vim sysctl.conf
2、在sysctl.conf添加下面参数保存退出(按ESC键后输入:wq!保存退出)
#开启SYN Cookies,默认为0
net.ipv4.tcp_syncookies = 1
#开启重用TIME_WAIT,默认为0
net.ipv4.tcp_tw_reuse = 1
#开启快速回收TIME_WAIT,默认为0
net.ipv4.tcp_tw_recycle = 1
#修改保持FIN-WAIT-2状态的时间,默认为60s
net.ipv4.tcp_fin_timeout = 30
3、执行sysctl -p命令重新加载sysctl.conf使用修改生效
通过上面的修改后基本可以达到让系统不会产生大量TIME_WAIT。
对于linux服务器网络性能的调优可以在baidu找到比较详细的文档。
1、编辑sysctl.conf
#cd /etc/
#vim sysctl.conf
2、在sysctl.conf添加下面参数保存退出(按ESC键后输入:wq!保存退出)
#开启SYN Cookies,默认为0
net.ipv4.tcp_syncookies = 1
#开启重用TIME_WAIT,默认为0
net.ipv4.tcp_tw_reuse = 1
#开启快速回收TIME_WAIT,默认为0
net.ipv4.tcp_tw_recycle = 1
#修改保持FIN-WAIT-2状态的时间,默认为60s
net.ipv4.tcp_fin_timeout = 30
3、执行sysctl -p命令重新加载sysctl.conf使用修改生效
通过上面的修改后基本可以达到让系统不会产生大量TIME_WAIT。
对于linux服务器网络性能的调优可以在baidu找到比较详细的文档。