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; (编辑:莱芜站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- symfony-使用Nginx无效更新symlink静态文件
- PHP和nginx出现413 Request Entity Too Large 怎
- nginx – Lighttpd的内存泄漏,一个神话还是真的?
- nginx – 501推送到Artifactory Docker存储库时不
- nginx’“map”指令中的参数数量无效
- linux – DKIM:Signature标头存在但无效
- Nginx:带有$args的别名和try_files
- nginx – $request_uri后缀的变量,与位置块前缀不
- 如何在Heroku上使用REST API后端最佳地提供静态文
- django-tastypie PATCH给我“ 400(错误请求)”