MPM多进程处理模块
MPM分为三种模式:
1,prefork
进程模型,每个进程处理一个请求,模式:父进程——————>多个子进程——————>一个子进程处理一个请求
2,worker
线程模型,每个进程衍生出多个线程,每个线程处理一个请求,模式:父进程——————>多个子进程——————>每个子进程衍生多个线程------->一个线程处理一个请求任务
3,event
事件驱动模型,一个进程处理多个任务,模式:父进程————————>多个子进程-------->一个子进程处理多个请求
centos6 httpd-2.2 MPM设置
修改文件
/etc/sysconfig/httpd
1 2 3 |
HTTPD=/usr/sbin/httpd.worker HTTPD=/usr/sbin/httpd.event |
默认为prefork模式
配置后重启httpd server生效
centos7 httpd-2.4 MPM设置
修改文件 /etc/httpd/conf.modules.d/00-mpm.conf
1 2 3 4 5 |
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 |
模式参数配置详解
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<IfModule prefork.c> //如果加载了这个模块,就实现一下配置,一个条件化模块加载 StartServers 8 //服务在启动时默认启动几个子进程 MinSpareServers 5 //最小空闲进程数量 MaxSpareServers 20 //最大空闲进程数量 ServerLimit 256 //限制MaxClients MaxClients 256 //最大并发量,就是同时访问数量 MaxRequestsPerChild 4000 //每个子进程最多能处理的请求数量,处理够数量后就被kill然后重新启动 </IfModule> |