首页 > 其他分享 >Apache 介绍

Apache 介绍

时间:2023-12-22 22:34:08浏览次数:37  
标签:HTTP 请求 MPM 介绍 进程 线程 Apache

Apache基金会
Apache 软件基金会(Apache Software Foundation),简写为ASF。是一个负责管理 Apache 项目的开源基金会。
例如:Apache HTTP Server、Apache HTTP Server、Apache HTTP Server、Apache Kafka、Apache Tomcat以及Apache ZooKeeper都是Apache基金会中的开源项目。
Apache基金会官网:https://apache.org/

Apache HTTP Server
Apache HTTP Server(简称Apache),它的出现早于ASF基金会的成立,当 Apache HTTP Server 被创造出来后,为了更好地管理和支持这个项目以及其他相关开源项目,Apache 轑件基金会随后成立。

Apache是世界上最流行的网页服务器软件之一,apache具有以下特点:

  • 开源免费:Apache 是开源软件,遵循 Apache 许可证,可以免费使用、修改和重分发。
  • 模块化设计:Apache是基于模块化设计的,通过加载不同的模块可以实现不同的功能。
  • 跨平台:支持在Unix、Windows、Linux、MacOS上运行

网页服务器和WWW、HTTP的关系:

  • WWW:是一个广泛的概念,由遍布全球的众多网页服务器共同构成。WWW的目标就是通过超链接技术(HTML)使得资源可以相互关联和访问
  • HTTP:设计用于客户端和WWW之间的数据交互,定义了请求和响应格式。
  • 网页服务器:是WWW的一个具体实现,存储相关的HTML文档和资源。

Apache 工作模式:
Apache一个很大的特点就是模块化设计。不同功能可以通过模块(Modules)来实现,这些模块可以根据需要加载或卸载。
Aapache为了解决各种场景下的并发处理需求,引入了一个叫作“多处理模块(Multi-Processing Module,简称 MPM)”的概念,不同的模块定义了 Apache 如何处理并发请求

Prefork MPM模块:
Apache 启动时创建一个父进程。这个父进程主要负责管理子进程,不直接处理客户端请求。父进程根据对应的配置创建一定数量的子进程,没有请求时这些子进程是空闲的,当一个请求到达时,父进程将其分配给一个空闲的子进程。
特点:因为每个子进程独立运行,它们之间没有共享状态,所以非常稳定,但是内存占用可能会更多。

Worker MPM模块:
Apache 启动时创建一个父进程。这个父进程负责监控和管理子进程,但不直接处理客户端请求。会根据配置创建对应的子进程数量,每个子进程可以创建并管理多个线程。每个线程可以独立处理一个客户端请求。
特点:适合处理高并发请求,且资源消耗低。

Event MPM模块:
Event MPM 是对 Worker MPM 的一个优化,特别是在处理持久连接方面。一个持久连接占用一个线程,直到连接关闭。

优化方法:
引入监听线程,通过监听线程来负责接收新的连接请求,并将这些请求分配给子进程中的工作线程。

  • 接收新请求:所谓的新请求就是客户端首次尝试建立与服务器的连接,新请求到来时,首先被监听线程接收,由监听线程将该请求分配给一个工作线程进行实际的处理。
  • 管理现有连接:会监控那些处于持久连接状态(如 HTTP Keep-Alive)的连接,一般工作线程完成请求后,将这个工作线程转入空闲状态,随时准备处理新的分配给它的请求。

MPM WinNT:
专门給Windows设计的一个模块,使用单个固定的父进程,该父进程创建多个子线程来处理请求。

Apache的C10k问题
C10k"代表 "concurrent 10,000"(同时1万个连接)

原因:

  • Apache是基于进程/线程的工作模式:如Prefork MPM模式,每个请求都会占用一个进程。即使是使用 Worker MPM模式,在处理大量并发连接时,线程的创建和上下文切换仍然会导致性能问题。
  • 资源限制问题:在高并发场景下,Apache 可能会受到操作系统对进程和线程数量的限制,随着并发数的增加,导致系统资源的急剧增加,从而可能导致系统崩溃。
  • 连接处理效率不高:在处理短链接或者持久连接时,因为apache的架构问题,会导致不必要的资源占用,因为即使连接处于空闲状态,也会占用一个进程或线程。

解决Apache的C10k问题:
1、提供高性能的硬件和网络资源,防止因为资源消耗的问题导致服务器崩溃。
2、使用Event MPM工作模式,这种模型比传统的 Prefork 或 Worker MPM 更适合处理高并发连接。
3、优化Apache的相关配置
4、使用负载均衡技术

标签:HTTP,请求,MPM,介绍,进程,线程,Apache
From: https://www.cnblogs.com/heyongshen/p/17922176.html

相关文章

  • 2.5 常规游戏中模型通用要求介绍
    一、布线和理性多星点(4个及4个以上边的交点)如果是在中模阶段,减少使用多星点,因为会在细分是时出现凸点问题,如果要使用多星点,需要通过布线技巧把它移动至平面处,不要让他出现在倒角边缘。更改前,更改后更改前,更改后在模型上挖洞,且要保证都是四边面的情况下,是必然会出现五星点,五星点不可......
  • [贴装专题] 视觉贴装平台与贴装流程介绍
    作者:丶布布视觉贴装平台介绍平台的贴装流程:将下视相机(DownLook)移至补强片贴装位置;目的:通过下视相机拍照,=补强片贴装位置中心的实际物理坐标;再将下视相机(DownLook)移至左侧补强片进料位置,拍照补强片;目的:通过下视相机拍照,计算左侧进料处的补强片的实际中心坐标,便于吸嘴吸取;根据......
  • spring中BeanPostProcessor介绍
    介绍BeanPostProcessor是Spring框架提供的一个接口,用于在Spring容器中对Bean进行后处理。工作原理在Spring容器启动时,会扫描所有BeanPostProcessor实现类。当Spring容器创建Bean时,会调用BeanPostProcessor的postProcessBeforeInitialization()方法。当S......
  • 【物理层介绍】
    前言物理层作为OSI模型中的第一层,负责建立、维护和断开物理连接。计算机网络的物理层直接与物理媒介相连,如电缆、光纤和无线频谱。它涉及的不仅仅是硬件设备,还包括了一系列的协议和标准,这些共同定义了如何在设备间传输原始比特流。从简单的铜线到复杂的光纤网络,从有线电视到全球......
  • Infineon PSoc™62 开发平台介绍
    前言本开发笔记是InfineonPSoc62™MCU的入门教程,简要介绍如何使用RT-Thread驱动开发板外围硬件介绍Psoc6-evaluationkit-062S2是RT-Thread联合英飞凌推出的一款集成32位双核CPU子系统(ARMCortex-M4和ARMCortex-M0)的开发板,其具有单周期乘法的150-MHzArmCortex-M4F......
  • 提高集合操作效率神器:Apache Commons Collections
    第1章:引言大家好!我是小黑,今天咱们来聊聊一个让Java程序员既爱又恨的话题——Java集合。提起Java集合,咱们可能都有这样的经历:在处理数据时,经常会遇到一些棘手的问题,比如集合初始化复杂、数据处理效率低、代码冗长等等。这些问题不仅让代码看起来很头疼,有时还会影响到程序的性能。......
  • firewalld防火墙介绍
    systemctlstatusfirewalldsystemctlstartfirewalldsystemctlstopfirewalldsystemctlenablefirewalldsystemctldisablefirewalldsystemctlis-enabledfirewalldsystemctlis-activefirewalldsystemctlis-failedfirewalldsystemctlreloadfirewalldsyst......
  • C++标准库std::string的find_first_not_of 方法介绍:
    C++标准库std::string 的  find_first_not_of方法介绍: 例如:stra.find_first_not_of(s_fmt_a)在字符串stra中找到第一个不在s_fmt_a字符串中出现过的字符。stra="abc",abc字符都在s_fmt_a字符串里面出现过,所以第一个不在s_fmt_a里的字符是找不到的,返回......
  • 无刷车载吸尘器pcba方案介绍
     随着经济的发展,生活质量的提高,轿车的长期使用会带入很多灰尘,以及很多泥土,尤其是脚垫、座椅和很小的缝隙,这些犄角旮旯里面特别容易藏灰。作为一款车载无刷吸尘器,拥有极其强大的功能,凭借着体积小、使用灵活、重量轻以及附带刷头、吸头多,几乎可以满足车内的清洁卫生需求的优势,深受......
  • 无刷车载吸尘器pcba方案介绍
    随着经济的发展,生活质量的提高,轿车的长期使用会带入很多灰尘,以及很多泥土,尤其是脚垫、座椅和很小的缝隙,这些犄角旮旯里面特别容易藏灰。作为一款车载无刷吸尘器,拥有极其强大的功能,凭借着体积小、使用灵活、重量轻以及附带刷头、吸头多,几乎可以满足车内的清洁卫生需求的优势,深......