码迷,mamicode.com
首页 > Web开发 > 详细

使用Apache worker MPM 来提高passenger 性能

时间:2014-10-28 10:31:34      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:apache   rails   mpm   

看到了http://blog.phusion.nl/2013/03/12/tuning-phusion-passengers-concurrency-settings/的推荐,打算具体测试一下使用worker MPM对于passenger的性能提升。


实验设定:
实验对象:    自己用Rails写的web service

实验工具: 自己用scala写的基于http://gatling.io/的性能测试代码

两个实验组

  • Prefork MPM(Default) -- Apache 默认的当前MPM

  • Worker MPM -- 需要从prefork换成worker模式

如何从prefork换成worker模式

  1. 替换/etc/sysconfig/httpd文件里的HTTPD=/usr/sbin/httpd 成 HTTPD=/usr/sbin/httpd.worker

  2. 重启Apache


实验结果:

  1. 一般来说使用worker MPM模式的要比prefork模式的快一些, 尤其是Apache还没有生成所有的进程来处理所有的连接。

  2. 当prefork工作模式Apache生成了所有的进程后,这时两者的速度基本上差不多。但是由于这些新生成的httpd进程会消耗很多的memory。


实验结论:

一般来说使用prefork模式是为了兼容性,接入mod_php就和worker不兼容,因为它不是thread-safe的。如果你使用Apache2.4 一下的版本都应该考虑使用worker MPM。 如果你更新到了2.4 可以考虑event MPM。一种新的MPM。可以阅读 http://httpd.apache.org/docs/current/mod/event.html


本文出自 “coder瞬” 博客,请务必保留此出处http://mingleiwang.blog.51cto.com/9532994/1568659

使用Apache worker MPM 来提高passenger 性能

标签:apache   rails   mpm   

原文地址:http://mingleiwang.blog.51cto.com/9532994/1568659

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!