nginx "Too many open files"

1 故障现象:

在巡查系统时发现日志中报错如下:Too many open files

2 故障处理过程:

(1)查看nginx.conf配置文件知:

nginx的配置文件中的worker_connections 设置的太小(默认值1024)有关,并且还有5条反向代理,也占用文件句柄。

ulimit -n    160000 符合要求。

(2)在nginx.conf中修改worker_processes  2;为CPU核数

(3)worker_connections  4096;由1024改为2048都不行,并发量由1000左右,变为1500左右,后改为4096还是有少量报错。

(4)添加如下参数依旧,未解决。

    multi_accept on;

    use epoll;

(5)最后添加:worker_rlimit_nofile 65535;才解决问题,

 worker_rlimit_nofile,上网查了一下,如果不配置与操作系统的ulimit -n的值一致,worker_connections  4096时,还是有少量一样的报错,谁帮忙解释一下加上worker_rlimit_nofile 65535;才解决问题?

 

worker_rlimit_nofile:理论值应该是最多打开文件数(ulimit -n)与nginx 进程数相除,但是nginx 分配请求并不是那么均匀,所以最好与ulimit -n 的值保持一致。

worker_connetions:每个工作进程允许最大的同时连接数(那么,这里是不是应该小于worker_rlimit_nofile)

(nginx最大的连接数:Maxclient = work_processes * worker_connections)

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值