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