首页 > 其他分享 >apache MPM的三种工作模式

apache MPM的三种工作模式

时间:2022-10-10 22:14:45浏览次数:49  
标签:httpd 模型 MPM 进程 线程 apache 三种

apache和httpd的关系:

apache刚开始靠apache这个软件起家,后来发展成为一个基金会,拥有了几十种开源项目,所以就把提供web服务的apache这个软件更名为httpd(apache2以上版本改称为httpd)

apache是基于多进程的io模型实现的。并发性有极限(10k)

apache的三种工作模式:MPM 工作模式

  • prefork MPM

  • worker MPM

  • event MPM

prefork MPM: 多进程I/O模型,每个进程响应一个请求,CentOS 7 httpd默认模型

一个主进程创建若干个子进程,每个子进程的一个线程用来处理用户请求。

  • 优点:稳定

  • 缺点:慢,占用资源,不适用于高并发场景
    image

worker MPM:复用的多进程I/O模型,多进程多线程,IIS使用此模型

一个主进程创建若干个子进程,每个子进程又有若干个线程,每个线程处理一个用户的请求。请求执行完成后线程不自动释放,会一直等到超时才会释放。
image

event MPM:事件驱动模型(worker模型的变种),CentOS8 默认模型

一个主进程创建若干个子进程,每个子进程包含一个监听线程和若干个工作线程。每个工作线程响应一个请求。请求执行完成后,释放线程。
image

worker和event:
  • 优点:占用资源少,能实现高并发

  • 缺点:一个子进程开多个线程,因为线程之间存在资源竞争(同一进程的多个线程是共享资源的),如果挂了一个线程,可能会影响到其他的线程。所以稳定性较差。

标签:httpd,模型,MPM,进程,线程,apache,三种
From: https://www.cnblogs.com/heyongshen/p/16777597.html

相关文章