NGINX Worker在使用Passenger时处理角色

bka*_*ler 3 passenger worker-process nginx

我目前正在开展一个项目,我们正在使用NGINX和Phusion Passenger.我已经做了一些关于如何使用不同配置进行最佳优化的研究,但我仍然不明白增加NGINX工作进程的数量如何适应场景.似乎优化更大负载的真正因素是增加乘客流程的数量.

有没有人能够了解1个NGINX工人流程与50个错误乘客流程之间的差异与2个NGINX工作流程之间的区别是什么?

VF_*_*VF_ 6

我试试看...... nginx工人和乘客之间存在很大差异.你绝对不希望拥有比核心更多的nginx工作者,因为这只会导致空闲进程飞来飞去.因此,如果你有一个可能有4个内核的cpu,请给nginx 4个工作者.就那么简单.

现在谈到乘客工作者,整件事情变得更加复杂.您必须考虑您的应用程序是否消耗了大量的CPU时间(例如计算)或执行大量I/O(例如数据库操作,文件内容,您的名称)并适当地配置乘客.

计算:将工作进程和线程限制为核心数或其倍数 - 可能是您拥有的核心数量的2或3倍.I/O:给它尽可能多的进程作为核心但尽可能多的线程.

有一些非常好的博客文章关于使用公式和配置信息调整nginx和/或乘客:

http://www.alfajango.com/blog/performance-tuning-for-phusion-passenger-an-introduction/ http://blog.phusion.nl/2013/03/12/tuning-phusion-passengers-concurrency-设置/

  • 请注意,在超线程(Intel CPU)的情况下,您应该计算虚拟核心.所以在具有超线程的四核上,有8个nginx工作者. (2认同)