哪位apache工作人员需要和乘客一起使用?
我有这个配置在我的apache2.conf哪位apache工作人员需要和乘客一起使用?
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>
# worker MPM # StartServers: initial number of server processes to start # MaxClients: maximum number of simultaneous client connections # MinSpareThreads: minimum number of worker threads which are kept spare # MaxSpareThreads: maximum number of worker threads which are kept spare # ThreadsPerChild: constant number of worker threads in each server process # MaxRequestsPerChild: maximum number of requests a server process serves
<IfModule mpm_worker_module>
StartServers 2
MaxClients 15
MinSpareThreads 4
MaxSpareThreads 5
ThreadsPerChild 15
MaxRequestsPerChild 50000
</IfModule>
现在我很困惑在这里。
- 哪个模块在哪些条件下被加载?
- phusion家伙建议使用worker模块。由于两者都存在于apache conf文件中,我必须评论mpm_prefork_module还是保持原样?
以下是为Apache我的乘客的conf文件:
LoadModule passenger_module /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4/ext/apache2/mod_passenger.so
PassengerRoot /usr/lib/ruby/gems/1.8/gems/passenger-2.2.4
PassengerRuby /usr/bin/ruby1.8
PassengerMaxPoolSize 3
PassengerPoolIdleTime 999999
RailsFrameworkSpawnerIdleTime 0
RailsAppSpawnerIdleTime 0
- 我在slicehost运行只是一个单一的Rails 2.3.2 256MB切片的应用程序。我对表现还不满意。上面的设置是否有用?
一般来说,人们问他们的VPS什么时候开始交换,是你的情况么?这个线程是非常有益的再利用“免费”和“顶”并切换到MPM工人
http://forum.slicehost.com/comments.php?DiscussionID=3313
这些信息关于没有得到谈论得很多
http://wiki.ninjafocus.net/Ruby_on_Rails
的设置http://programming-gone-awry.blogspot.com/2009/06/how-to-save-much-ram-when-running-rails.html
a。运行httpd/apache/httpd2/apache2 -l来查看哪个mpm被加载(通常是prefork)
b。为了得到工人模块,你必须安装它,但我从来没有做过,但我知道它的一个或者一个命题,它们不能共存
c。如果您正在预测任何类型的流量,请务必将MaxClients(在prefork配置中)设置为大约20(开始时),否则您的应用/乘客将在高流量时段内呕吐
d。对于乘客的设置,我会跟
PassengerMaxPoolSize 2
PassengerPoolIdleTime启动0
RailsFrameworkSpawnerIdleTime 0
RailsAppSpawnerIdleTime 0
这里做的事情就是保持框架产卵,产卵应用程序和App实例在内存最长可能的时间,所以它不需要经过一段时间的闲置后重新生成应用程序实例或框架(如果您的网站流量不高)。 这就像您将得到的一样,运行一个永远在线的杂种类型设置。
Apache是否使用prefork MPM或worker MPM是编译时选项。无法在运行时更改它,因此无法加载MPM。
该指令表示“如果当前MPM为xxx,则使用该块内的配置,否则完全忽略该块”。
所以,如果你想使用工人MPM,那么你必须卸载prefork版本并安装工人版本。
太开球下面......老姨的答案,找出您正在运行只运行 阿帕奇/的httpd /的apachectl /(无论你的Apache命令)-l 什么MPM,你会看到的模块上市。 享受。 – concept47 2009-08-29 10:14:28
我在Ubuntu Intrepid上,当我按照你的建议发出命令时, httpd/apache/httpd2/apache2 -l 找不到cmd。我GOOGLE了并得到了另一个cmd, apache2 -l 这也不起作用? 是应该工作或是否有其他CMD找出哪个MPM加载了Apache? – Autodidact 2009-08-29 11:09:29