Apache三种工作模型

Apache目前支持三种不同的MPM多进程处理模块

1)prefork模型

预派生模式,一个主控进程,生成多个子进程,每个子进程有一个独立的线程处理用户请求,

相对比较占用内存,但是比较稳定,可以设置最大最小进程数,是最古老的一种模式,也是最稳定的模式,适用于访问量不是很大的场景

优点:稳定

缺点:1024个进程难以应对高并发场景

 

 2)woker

多进程和多线程混合模型,一个控制进程启动多个子进程,子进程里包含固定的线程来处理请求,线程不够用时开启一个新的子进程

优点:相比prefork占用内存较少,同时可以处理更多请求

缺点:使用keepalive的长连接,某个线程会长时间被占据,即使没有传输数据也会等到超时才会释放,

   多数被这样占用时,高并发场景下一样会无线程可用

 

 3)event

在每个进程的线程中加入一个专门负责监控各线程的监听线程,当无数据传输时将其及时回收,处理新请求

当进程处理多次请求后,会回收子进程重新建立

优点:高并发下表现更优秀

缺点:缺少线程安全控制

 

posted @ 2020-08-11 16:19  天际之上可有蓝天  阅读(318)  评论(0编辑  收藏  举报