我目前正在开展一个项目,我们正在使用Nginx和Phusion Passenger.我已经做了一些关于如何使用不同配置进行最佳优化的研究,但我仍然不明白增加Nginx工作进程的数量如何适应这种情况.似乎优化更大负载的真正因素是增加乘客流程的数量.
有没有人能够了解1个Nginx工人流程与50个错误乘客流程之间的差异与2个Nginx工作流程之间的区别是什么?
解决方法:
我试试看…… 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-settings/