MPM(多路处理模块),apache处理处理并发的三种方式
1、perfork:预处理模式
2、worker:工作模式
3、winnt:这个一般说是windows下采用的,也是一种worker模式。
一、apache如何设置
1、打开httpd.conf可以看到如下:
2、确定当前的apache的MPM模式
进入到apache/bin下,输入命令http.exe -l即可查看
3、修改httpd-mpm.conf
<IfModule mpm_winnt_module>
ThreadsPerChild 150
MaxRequestsPerChild 0
</IfModule>
二、解释几个参数的意义
1、perfork:
<IfModule mpm_prefork_module>
StartServers 5 起始进程数
MinSpareServers 5 最小空闲进程
MaxSpareServers 10 最大空闲进程
MaxClients 150 关键值,并发量
MaxRequestsPerChild 0 意义不大,对worker影响大
</IfModule>
2、worker
<IfModule mpm_worker_module>
StartServers 2 起始进程
MaxClients 150并发数
MinSpareThreads 25 最小空闲线程
MaxSpareThreads 75 最大空闲线程
ThreadsPerChild 25 每个进程的线程数
MaxRequestsPerChild 0 设为0,线程服务完,进程不死掉。
</IfModule>
单个apache的并发始终是有限的,还是要依靠负载均衡或Nginx反向代理!!