使用Nginx进行代理,出现大量CLOSE WAIT状态的线程的处理方法

问题背景:
在使用nginx进行代理下载文件的时候,发现有大量文件下载失败,使用lsof命令查看后,发现有大量的线程状态处理CLOSE WAIT的状态,导致占用了大量的线程,并且无法释放,所以需要及时的进行处理

解决思路:
方法一(从系统层面解决):
#vim /etc/sysctl.conf
增加
net.ipv4.tcp_keepalive_time=30
net.ipv4.tcp_keepalive_probes=2
net.ipv4.tcp_keepalive_intvl=2
#sysctl -p

方法二(从nginx本身来解决):
在nginx.conf文件中添加如下的参数:
tcp_nodelay on;
然后重启nginx

方法三(如果上述两种方法都无法解决问题,只能从使用nginx程序的代码层面来查看)

你可能感兴趣的:(linux,nginx)