centos – 查找导致随机502网关错误的Nginx/PHP-FPM瓶颈
我在一个相当繁忙的互联网网站工作,通常会有非常大的流量峰值.在这些峰值期间,请求每秒数百页,这会产生随机502网关错误. 现在我们在配备4核SAS 15k驱动器(raid10)的机器上运行Nginx(1.0.10)和PHP-FPM,配备16核CPU和24GB DDR3内存.我们还使用了最新的Xcache版本. DB位于另一台机器上,但该机器的负载非常低,并且没有问题. 在正常负载下,一切运行完美,系统负载低于1,并且PHP-FPM状态报告从未真正一次显示超过10个活动进程.总有大约10GB的ram可用.在正常负载下,机器每秒处理大约100次综合浏览量. 当流量大幅上升到达时,问题就出现了,并且机器要求每秒数百次页面浏览量.我注意到FPM的状态报告随后显示多达50个活动进程,但这仍然低于我们配置的300个最大连接数.在这些峰值期间,Nginx状态报告最多5000个活动连接,而不是正常平均值1000. 操作系统信息:CentOS 5.7版(最终版) CPU:Intel(R)Xeon(R)CPU E5620 @ 2.40GH(16核) PHP-fpm.conf
我没有设置rlimit_files,因为据我所知它应该使用系统默认值,如果你不这样做. fastcgi_params(仅向标准文件添加值)
nginx.conf
Nginx通过Unix Socket连接到FPM. sysctl.conf的
limits.conf中
这些是以下命令的结果:
问:如果PHP-FPM没有用完连接,那么负载仍然很低,并且有足够的RAM可用,在高流量期间可能导致这些随机502网关错误的瓶颈是什么? 注意:默认情况下,这台机器的ulimit是1024,因为我把它改为65536我没有完全重启机器,因为它是一台生产机器,这意味着停机时间过长. 最佳答案
官方推荐:worker_processes = CPU核心数
设置worker_processes 16; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- amazon-web-services – 如何在amazon linux di
- linux – 多个Nginx服务器是否使用ip_hash指令将
- 如何为使用fastcgi和perlbrew在Nginx上运行的Per
- 使用SSL与Daphne NGINX部署Django频道
- 使用Meteor-Up,SSL和NGINX将Meteor部署到生产环境
- Nginx一个ip和多个ssl证书
- NGINX Proxy_Pass删除url substring
- ruby-on-rails – 检测Rails是否正在运行站点
- 403使用nginx禁止wordpress索引,其余页面工作正常
- nginx location regex – 字符类和匹配范围