码迷,mamicode.com
首页 > Web开发 > 详细

apache进程和用户请求的关系

时间:2017-04-18 18:46:31      阅读:233      评论:0      收藏:0      [点我收藏+]

标签:配置   bsp   多线程   负载   系统   稳定性   链接   开启   多进程   

apache工作模式:

beos工作模式(跟linux关系不大,或者暂时用不上)

在Beos系统上的工作模式,使用一个单独的控制线程来创建和控制处理请求的工作线程。
event工作模式(不太稳定,或者说暂时用不上)
event模式由于把服务进程从链接中分离出来,在开启KeepAlive场合下相对worker模式能够承受的了更高的负载。event模式为 worker开发的变种模式,配置以及指令与worker完全相同。不过event模式不能很好的支持https的访问,有时还会出现一系列的问题。
worker工作模式(与php配合不好,或者说暂时用不上)
worker模式由于使用线程来进行处理请求,所以能够处理海量请求,而系统资源的开销要小于基于进程的服务器。同时worker模式也使用了多进程,每个进程又有着多个线程,以获得基于进程服务器的稳定性。
mpmt_os2工作模式(很少用,或者说暂时用不上)
mpmt_os2是专门针对OS/2优化过的混合多进程多线程多路处理模块(MPM) 。

prefork工作模式(本篇文章的主角,使用最多而且最稳定的工作模式)

prefork工作模式是linux下apache安装时候的默认工作模式,是使用最普遍的工作模式。为了能够简单的明白他的工作原理,下面是一个假设:
有一台正在运行的apache服务器,用户A访问该apache的时候apache建立一个新的进程1处理用户A的请求。
这时又有一个用户B访问该apache,apache又建立一个新的进程2处理用户B的请求。
后来又有用户C,D,E访问该apache,apache又建立三个进程3,4,5处理他们的请求。
如果每当一个新用户访问该apache,apache再建立一个新的进程处理用户的请求,是不是太慢了呢?
所以apache的prefork模式在apache第一次启动的时候就建立5个进程,等待用户的连接请求,有一个用户访问,就有一个进程处理他的请求。
那么如果有5个用户同时访问apache,apache第一次建立的5个进程全部用光了,所以apache就再从新在建立5个进程,等待下一批用户的请求。
prefork模式会根据服务器的硬件情况,设定apache最多只能同时建立256个进程。再多的请求就只能等待前面的进程处理完毕在进行处理。
假设完毕
 
说明:每次用户使用浏览器访问服务器,占用一个进程(apache的prefork工作模式下预设好的进程),当所有内容响应完毕进程就会自动关闭!

apache进程和用户请求的关系

标签:配置   bsp   多线程   负载   系统   稳定性   链接   开启   多进程   

原文地址:http://www.cnblogs.com/dudeyouth/p/6728875.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!