我在谷歌上搜索,却发现自己陷入了困境,一无所获。
我的总体目标是限制在 Centos 7 服务器上可以同时与 Apache 建立的连接数量。
使用默认设置:
[root@app1 ~]# cat /etc/httpd/conf.modules.d/00-mpm.conf
LoadModule mpm_prefork_module modules/mod_mpm_prefork.so
#LoadModule mpm_worker_module modules/mod_mpm_worker.so
#LoadModule mpm_event_module modules/mod_mpm_event.so
[root@app1 ~]# httpd -t -D DUMP_MODULES | grep mpm
mpm_prefork_module (shared)
[root@app1 ~]# httpd -V | grep MPM
Server MPM: prefork
如果我运行:
[root@app1 ~]# ab -n 200 -c 100 http://afterratest.com/
我可以看到大约有 135 个连接接入。
如果我在 httpd.conf 文件中设置以下设置
KeepAlive Off
<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 100
MaxClients 100
MaxRequestsPerChild 3000
</IfModule>
重新启动 Apache 并运行相同的命令,我可以看到 100 个连接。
我希望从这个问题中得到的是:
- mpm_prefork_module、mpm_worker_module 和 mpm_event_module 之间有什么区别
我已经阅读了在线文档,但它们没有任何意义。
以下设置对每个设置有何作用?
启动服务器 5
最小备用服务器数 5
最大备用服务器数 100
最大客户数 100
每个子项的最大请求数 3000
像我 5 岁那样解释