Apache Web Server -> httpd的HTTP的多路处理模块MPM

同步synchronous 和 异步asynchronous 是站在被调用者角度:

        同步synchronous:进程发起一个调用,在没有获得结果之前,被调用者是不回返回的.
 
        异步asynchronous: 进程发起一个调用,即使不能立即获得结果,被调用也会返回,返回一个未完成的状态,当完成的时候,内核通知进程.


阻塞 和 非阻塞 是站在调用者的角度:

       阻塞 进程发起一个调用,被调用者 同步执行,进程进入阻塞的状态.

       非阻塞 进程发起一个调用,被调用者 异步执行,进程进入非阻塞的状态.


磁盘的I/O模型:

       1 同步阻塞模型

       2 异步非阻塞模型

进程读取数据的过程:




MPM多路处理模块: multipath process module

1 prefork 多路处理模块 一个进程响应一个请求,每一个进程的I/O模型是同步阻塞, 该模型稳定性好.

2 worker  多路处理模块 一个进程创建多个线程来响应多个用户的请求,每个线程的I/O模型是同步阻塞,因此每一个线程只能响应一个请求,该模型中的每一个线程可以共享进程的内存中的资源,但是稳定性没有prefork好.

3 event   多路处理模块 一个进程创建多个线程来响应多个用户的请求,每个线程的I/O模型是异步非阻塞,因此每一个线程可以响应多个请求,该模型中每一个线程可以共享进程的内存中资源,但是翁定性不如prefork 好.



配置:(httpd-2.4版本)

<IfModule mpm_prefork_module>
StartServers        表示启动进程的时候启动的工作进程的数目
MinSpaceServers        表示最小空间进程的数目
MaxSpaceServers        表示最大空间进程的数目
MaxRequestWorkers    表示并发量的大小
MaxRequestsPerChild    表示每个进程最大的服务次数 超过之后就销毁               0表示永久有效
</IfModule>

<IfModule mpm_worker_module>
StartServers        表示启动进程的时候启动的工作进程的数目
MinSpaceThreads        表示最小空闲线程的数目
MaxSpaceThreads        表示最大空闲线程的数目
ThreadsPerChild     每一个进程能够创建的线程的数目
MaxRequestWorkers    并发量
MaxRequestsPerChild     同上
</IfModule>

<IfModule mpm_event_module>
StartServers        表示启动进程的时候启动的工作进程的数目
MinSpaceThreads        表示最小空闲线程的数目
MaxSpaceThreads        表示最大空闲线程的数目
ThreadsPerChild     每一个进程能够创建的线程的数目
MaxRequestWorkers    并发量
MaxRequestsPerChild     同上
</IfModule>










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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值