使用哪个 mpm 设置来限制 Centos 7 apache 上的连接数

使用哪个 mpm 设置来限制 Centos 7 apache 上的连接数

我在谷歌上搜索,却发现自己陷入了困境,一无所获。

我的总体目标是限制在 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 个连接。

我希望从这个问题中得到的是:

  1. mpm_prefork_module、mpm_worker_module 和 mpm_event_module 之间有什么区别

我已经阅读了在线文档,但它们没有任何意义。

  1. 以下设置对每个设置有何作用?

    启动服务器 5

    最小备用服务器数 5

    最大备用服务器数 100

    最大客户数 100

    每个子项的最大请求数 3000

像我 5 岁那样解释

相关内容