apache多处理模块(MPM)

Apache HTTP服务器采用模块化设计,提供三种多处理模块:Prefork、Worker和Event MPM。Prefork是预派生的非线程模型,适合避免线程兼容问题;Worker使用多进程多线程混合模式,适用于高并发;Event MPM解决Keepalive场景下线程资源浪费,提升高并发处理能力。Event MPM需在Apache 2.4以上版本运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Apache HTTP 服务器被设计为一个功能强大,并且灵活的 web 服务器, 可以在很多平台与环境中工作。不同平台和不同的环境往往需要不同的特性,或可能以不同的方式实现相同的特性最有效率。Apache 通过模块化的设计来适应各种环境。这种设计允许网站管理员通过在 编译时或运行时,选择哪些模块将会加载在服务器中,来选择服务器特性。

它提供了可以选择的多处理模块(MPM),用来绑定到网络端口上,接受请求, 以及调度子进程处理请求。

apache提供的3种多处理模块:Prefork、Worker、Even,其中worker和even尽量在apache2.4版本以上使用。

Prefork MPM

这个多路处理模块(MPM)实现了一个非线程型的、预派生的web服务器。Apache在启动之初,就预先fork一些子进程,然后等待请求进来。之所以这样做,是为了减少频繁创建和销毁进程的开销。每个子进程只有一个线程,在一个时间点内,只能处理一个请求。

它适合于没有线程安全库,需要避免线程兼容性问题的系统。它是要求将每个请求相互独立的情况下最好的MPM,这样若一个请求出现问题就不会影响到其他请求。

这个MPM具有很强的自我调节能力,只需要很少的配置指令调整。最重要的是将MaxClients设置为一个足够大的数值以处理潜在的请求高峰,同时又不能太大,以致需要使用的内存超出物理内存的大小。

Apache的httpd.conf中的配置方式

  1. <IfModule mpm_prefork_module>

  2.    StartServers             5

  3.    MinSpareServers          5

  4.   &nb

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值