HTTP 之 MPM工作模式
2017-10-06 16:04
886 查看
.MPM:multi-processing module多路处理模块,支持三种I/O模型:prefork,worker,event.prefork:多进程I/O模型,每个进程响应一个请求,默认模型
一个主进程:生成和回收n个子进程,创建套接字,不响应请求多个子进程:工作work进程,每个子进程处理一个请求;系统初始时,预先生成多个空闲进程,等待请求,最大不超过1024个会预先准备好子进程等待用户的访问,系统调用fork函数prefork用一个进程相应用户的请求.worker:复用的多进程I/O模型,多进程多线程,IIS使用此模型一个主进程:生成m个子进程,每个子进程负责生个n个线程,每个线程响应一个请求,并发响应请求:m*n缺点是当一个线程受影响时,该子进程的所有线程都会受到影响.event:事件驱动模型(worker模型的变种)一个主进程:生成m个子进程,每个进程直接响应n个请求,并发响应请求:m*n,有专门的线程来管理这些keep-alive类型的线程,(这里是比worker改进的地方)当有真实请求时,将请求传递给服务线程,执行完毕后,又允许释放,这样增强了高并发场景下的请求处理能力centos6默认httpd-2.2: event测试版centos7默认httpd-2.4:event稳定版prefork MPM:进程相应请求
![](http://upload-images.jianshu.io/upload_images/6943703-9484a3ce392713ea.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
worker MPM:线程响应用户的请求
![](http://upload-images.jianshu.io/upload_images/6943703-6746c1f65bd40df6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
event MPM:比worker多了一个监管的模型
![](http://upload-images.jianshu.io/upload_images/6943703-4ff3a554d01f81ed.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
进程角色,这里的worker就是线程的意思
一个主进程:生成和回收n个子进程,创建套接字,不响应请求多个子进程:工作work进程,每个子进程处理一个请求;系统初始时,预先生成多个空闲进程,等待请求,最大不超过1024个会预先准备好子进程等待用户的访问,系统调用fork函数prefork用一个进程相应用户的请求.worker:复用的多进程I/O模型,多进程多线程,IIS使用此模型一个主进程:生成m个子进程,每个子进程负责生个n个线程,每个线程响应一个请求,并发响应请求:m*n缺点是当一个线程受影响时,该子进程的所有线程都会受到影响.event:事件驱动模型(worker模型的变种)一个主进程:生成m个子进程,每个进程直接响应n个请求,并发响应请求:m*n,有专门的线程来管理这些keep-alive类型的线程,(这里是比worker改进的地方)当有真实请求时,将请求传递给服务线程,执行完毕后,又允许释放,这样增强了高并发场景下的请求处理能力centos6默认httpd-2.2: event测试版centos7默认httpd-2.4:event稳定版prefork MPM:进程相应请求
![](http://upload-images.jianshu.io/upload_images/6943703-9484a3ce392713ea.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
worker MPM:线程响应用户的请求
![](http://upload-images.jianshu.io/upload_images/6943703-6746c1f65bd40df6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
event MPM:比worker多了一个监管的模型
![](http://upload-images.jianshu.io/upload_images/6943703-4ff3a554d01f81ed.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
进程角色,这里的worker就是线程的意思
![](http://upload-images.jianshu.io/upload_images/6943703-d553d879ecf349a6.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
相关文章推荐
- apache的MPM模块两种工作模式详解(prefork和worker)
- apache的MPM模块两种工作模式详解(多任务高并发)
- apache的MPM模块两种工作模式详解(prefork和worker)
- 1.3 Apache的mpm工作模式
- apache的mpm工作模式
- apache的MPM模块两种工作模式详解(多任务高并发)
- LAMP--3.Apache 的 mpm 工作模式
- apache的mpm工作模式
- apache的MPM模块两种工作模式详解(prefork和worker)
- Apache 的动态静态编译 &工作模式MPM
- AJAX工作模式、XMLHttpRequest对象、运行流程
- http服务(一)――apache工作模式
- Apache HTTP Server 中prefork和worker工作模式(二)
- httpd一之关于http工作模式的基本说明
- Apache的mpm工作模式
- Epoll工作模式详解----http://www.vimer.cn
- MPM--apache的工作模式
- MPM--apache的工作模式
- HTTP WEB服务器的工作模式
- LAMP架构(2)MPM工作模式