我的 apache2.conf 中有这个配置
<IfModule mpm_prefork_module>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>
# 工人 MPM # StartServers:要启动的服务器进程的初始数量 # MaxClients:最大同时客户端连接数 # MinSpareThreads:保持空闲的最小工作线程数 # MaxSpareThreads:保持空闲的最大工作线程数 # ThreadsPerChild:每个服务器进程中的工作线程数恒定 # MaxRequestsPerChild:服务器进程服务的最大请求数
<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 乘客配置文件:
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 的 256MB 片上只运行一个 Rails 2.3.2 应用程序。我对性能还不是很满意。上面的设置好不好??