什么是Apache prefork、Worker和Event MPM(Multi-Processing Modules:多处理模块)

Apache是Linux的Web服务器最流行的Web服务器。大多数Linux系统管理员使用Apache(httpd)Web服务器从那里学习阶段的开始,连我也在学习过程中使用Apache Web服务器。在初始系统管理员不知道Apache的工作原理。他们大多使用默认的配置,但他们不知道Apache如何工作的,如何处理传入连接或多个进程。 Apache使用以下MPM(Multi-Processing Modules)多处理模块,用于处理入局请求并处理它们中的一个。两者都有自己的工作类型。下面是关于这两个MPM和工作有一些基本的细节。

prefork MPM:

prefork的MPM推出多个子进程。每个子进程一次处理一个连接。 prefork相比Worker的MPM,有很高的内存使用率。 prefork是Apache2的服务器使用的默认MPM。性能MPM始终运行一些最基本的(MinSpareServers)定义的过程作为备用,所以新的请求并不需要等待新的进程来启动。

Worker MPM:

Worker MPM生成多个子进程,类似prefork。每个子进程中运行多个线程。每个线程处理一次一个连接。 在排序Worker MPM实现了混合多进程多线程服务器。Worker MPM使用低内存相比prefork的MPM。

Event MPM:

Event MPM已在Apache 2.4推出,它和Worker MPM很相似,但它专门为管理高负载。 Event MPM允许通过传递了一些处理工作,以支持线程同时服务更多的请求。使用这种MPM的Apache尝试修复所面临的其他MPM了 “keep alive problem”。当客户端完成的第一个请求,然后客户端可以保持连接,并发送使用相同的socket,从而减少连接过载进一步的请求。
赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏