Apache工作模式详解

今天我们来简单介绍一下Apache工作模式。

一、Apache工作模式简介

Apache有三种工作模式,分别是Prefork、Worker和Event。这三种工作模式,使得Apache在处理多个不同的客户端请求时,使用不同的方式进行处理。其中Event为Apache开发组的实验模式,使用较少,因此在今天不予过多介绍。

二、Prefork工作模式简介

Prefork模式为Apache默认使用的工作模式,在该模式下,采用的机制是预派生子进程的方式,使用单独的进程来处理不同的请求。
如果Apache运行在Prefork工作模式下,Apache控制进程在最初启动后,会根据配置文件中MinSpareServers的值来创建进程。在最初的StartServer进程启动后,等待一秒钟,创建第一个进程,等待两秒钟,又创建两个进程,再等待一秒钟后,又会创建4个进程,并且始终以指数型形式增加,最多每秒钟创建32个进程,知道满足MinSpareServers的值。
Prework的优点在于,不需要在收到客户端请求后新建立进程,从而在一定程度上减小了系统开销,但是,进程相对来说会耗费一定的系统资源。

三、Worker工作模式简介

与Prefork模式不同,Worker模式使用不同的线程来处理不同的客户端请求,控制进程在启动后,悔根据配置文件中的ThreadsPerChild值得大小,在进程下启动相应的线程数,这些线程并发的处理客户端的请求。如果客户端请求过多,一个进程的线程数不能够处理,则Worker模式下也会创建其他的进程,在新的进程下会继续创建不同的线程,所有的线程一起并发的进行处理客户端请求。因此Worker工作模式下,同时处理的并发数为进程数×每个进程下的线程数,但是,进程数不能超过配置文件中ServerLimit值。
相比Prefork工作模式,Worker工作模式下使用线程处理客户端请求,占用内存量小,适合高并发场景下的WEB服务器部署。然而,线程相对于进程的缺点在于,稳定性比较差,在Prefork模式下,当一个进程崩溃,收到影响的仅仅是该进程本身,但是在Worker模式下,当一个线程崩溃,则该进程下的所有线程都会收到影响。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200

  • 4
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

永远是少年啊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值