Apache的工作模式

简介: Apache是目前世界排名第一的web服务器软件,跨平台和安全性高;支持SSL和多个虚拟主机;它是以进程为基础的结构,不适合多处理器环境,所以,web站点扩容通常是增加服务器而不是增加处理器。

Apache有三种稳定的工作模式,称为多进程处理模块MPM

1.Prefork工作模式

apache在启动之初,就预先派生一些子进程,然后等待请求过来;每个子进程只有一个线程,在一个时间点内,只能处理一个请求。

优点:成熟稳定,兼容所有模块,线程安全性高
缺点:不适合处理高并发请求;一个进程相对占用更多的系统资源,消耗更多的内存

2.Worker工作模式
使用多进程和多线程的混合模式,也预先派生了几个子进程(数量远少于prefork派生的);每个子进程创建多个线程,包括一个监听线程;每个请求会被分配一个线程来服务

优点:占据更少的内存(多个线程通常会共享父进程的内存),适合高并发的场景
缺点:必须考虑线程安全的问题,使用keep-alive长连接的时候,某个线程会被一直占用,即使没有收到请求,需要等待到超时才会释放;一个线程出现问题也会导致同一进程下的线程出现问题

keep-alive
在http早期,每个http请求都要求打开一个tcp socket连接,并且使用之后就断开这个tcp连接;
设置keepalive_timeout之后,httpd守护进程便会等待浏览器还有没有请求,这个等待就是keepalive_timeout时间;如果在规定的等待时间内没有收到浏览器发来的http请求,则关闭这个http连接;
优点:减少tcp连接的建立次数;减少time_wait状态连接;提高性能和提高httpd服务器的吞吐率
缺点:长时间的tcp连接容易导致系统资源无效占用;配置不当的keep-alive,比重复利用连接带来的损失大


3.Event工作模式
类似于worker的工作模式,最大区别是它解决了keep-alive场景下,长期被占用的线程的资源的浪费问题;event模式下,会有一个专门的线程来管理这些keep-alive类型的线程,当有真实的请求过来的时候,将请求传递给服务线程,执行完毕又允许它释放

优点:增强了高并发场景下的请求处理能力,减少tcp的连接数量
缺点:Event PMP不能在https访问下工作

查看apache工作模式的方法:
httpd -V |grep -i "Server MPM"

指定的方式:
在编译时使用 --with-mpm=xxx

目录
相关文章
|
7月前
|
Apache
Apache工作模式详解
Apache工作模式详解
129 2
|
7月前
|
机器学习/深度学习 SQL 分布式计算
详解Apache Hudi Schema Evolution(模式演进)
详解Apache Hudi Schema Evolution(模式演进)
262 3
|
2月前
|
存储 分布式计算 druid
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
43 1
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(一)
|
2月前
|
分布式计算 大数据 分布式数据库
大数据-158 Apache Kylin 安装配置详解 集群模式启动(一)
大数据-158 Apache Kylin 安装配置详解 集群模式启动(一)
47 5
|
2月前
|
资源调度 大数据 分布式数据库
大数据-158 Apache Kylin 安装配置详解 集群模式启动(二)
大数据-158 Apache Kylin 安装配置详解 集群模式启动(二)
46 2
|
2月前
|
消息中间件 分布式计算 druid
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(二)
大数据-152 Apache Druid 集群模式 配置启动【下篇】 超详细!(二)
42 2
|
2月前
|
存储 消息中间件 druid
大数据-151 Apache Druid 集群模式 配置启动【上篇】 超详细!
大数据-151 Apache Druid 集群模式 配置启动【上篇】 超详细!
88 1
|
3月前
|
Apache
多应用模式下,忽略项目的入口文件,重写Apache规则
本文介绍了在多应用模式下,如何通过编辑Apache的.htaccess文件来重写URL规则,从而实现忽略项目入口文件index.php进行访问的方法。
|
4月前
|
Linux Apache
在Linux中,apache有几种工作模式,分别介绍下其特点,并说明什么情况下采用不同的工作模式?
在Linux中,apache有几种工作模式,分别介绍下其特点,并说明什么情况下采用不同的工作模式?
|
4月前
|
监控 Apache
Apache 工作模式的区别及优化
【8月更文挑战第22天】Apache 工作模式的区别及优化
100 0

推荐镜像

更多