1.apache软件处理并发的模型有几种
有三种:prefork worker event。
prefork就是多进程响应多个请求的,会事先创建出来一部分空闲进程,但是请求比较多时会大量消耗资源,所以还需要通过最小空闲进程和最大空闲进程来限制,并引进了进程重用(master不需要将处理完请求的进程杀掉,而是保留可以
处理其他的请求),apache2.2的版本默认使用这种方式,且应用最为广泛;
worker是单进程多线程的方式;
event就是多进程响应多请求的方式,apache2.4默认的处理模型就是event
2.prefork 和worker两种模型
.# prefork MPM
<IfModule prefork.c> //进程模式
StartServers 10 //初始建立的进程数
MinSpareServers 10 //最小空闲的进程数
MaxSpareServers 15 //最大空闲的进程数
ServerLimit 2000 //最大启动的进程数 默认256
MaxClients 2000 //最大并发连接数 默认256
MaxRequestsPerChild 4000 //每个子进程在其生命周期内允许响应的最大请求数,0不限制
</IfModule>
# worker MPM
<IfModule worker.c> //线程模式
StartServers 2 //初始建立的进程数
ThreadsPerChild 50 //每个进程建立的线程数
MinSpareThreads 100 //最小空闲的线程数
Max