Nginx中worker_connections的问题

Posted 潇潇、寒

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Nginx中worker_connections的问题相关的知识,希望对你有一定的参考价值。

查看日志,有一个[warn]: 3660#0: 20000 worker_connections are more than open file resource limit: 1024 !!

原来安装好nginx之后,默认最大的并发数为1024,如果你的网站访问量过大,已经远远超过1024这个并发数,那你就要修改worker_connecions这个值 ,这个值越大,并发数也有就大。当然,你一定要按照你自己的实际情况而定,也不能设置太大,不能让你的CPU跑满100%。

所以,当你修改提高了配置文件中的worker_connections值,然后重启nginx,你就会在日志里发现,最前面我们讲到的这一个warn警告提示,大概的意思就是: 20000并发连接已经超过了打开文件的资源限制:1024!在这种情况下,我们就要修改配置文件,添加一行来解除这个限制,这就好像是apache中的ServerLimit。

打开配置文件在"event"这行上面添加这一行:

worker_rlimit_nofile   xxxxx;           ####Specifies the value for maximum file descriptors that can be opened by this process.

注意:设置了这个后,你修改worker_connections值时,是不能超过worker_rlimit_nofile的这个值,不然又会有前面的那个warn提示。

保存配置文件,退出重启nginx。

 

如果nginx 中worker_connections 值设置是1024,worker_processes 值设置是4,按反向代理模式下最大连接数的理论计算公式:

   最大连接数 = worker_processes * worker_connections/4

查看相关资料,生产环境中worker_connections 建议值最好超过9000,计划将一台nginx 设置为10240,再观察一段时间。

 

转自:http://hi.baidu.com/u_chen/item/560f1504a0a77367d45a1184

以上是关于Nginx中worker_connections的问题的主要内容,如果未能解决你的问题,请参考以下文章

记录工作中遇到的那些坑--NGINX配置worker_connections

如何优化 nginx 中的 worker_processes 和 worker_connections?

nginx 并发数问题思考:worker_connections,worker_processes与 max clients

nginx 并发数问题思考:worker_connections,worker_processes与 max clients

nginx [alert] 12339#0: 1024 worker_connections are not enough

nginx异常 [alert] 940#940: 768 worker_connections are not enough 解决