首页 > 其他分享 >apache几种工作模式对比

apache几种工作模式对比

时间:2023-05-28 10:37:03浏览次数:31  
标签:httpd 启动 几种 进程 线程 apache 服务器 对比 空闲


apache2主要的优势就是对多处理器的支持更好,在编译时同过使用--with-mpm选项来决定apache2的工作模式。如果知道当前的apache2使用什么工作机制,可以通过httpd -l命令列出apache的所有模块,就可以知道其工作方式:


prefork:如果

httpd -l列出prefork.c,则需要对下面的段进行配置:


<IfModule prefork.c>


StartServers 5 #启动apache时启动的httpd进程个数。


MinSpareServers 5 #服务器保持的最小空闲进程数。


MaxSpareServers 10 #服务器保持的最大空闲进程数。


MaxClients 150 #最大并发连接数。


MaxRequestsPerChild 1000 #每个子进程被请求服务多少次后被kill掉。0表示不限制,推荐设置为1000。


</IfModule>

在该工作模式下,服务器启动后起动5个httpd进程(加父进程共6个,通过ps -ax|grep httpd命令可以看到)。当有用户连接时,apache会使用一个空闲进程为该连接服务,同时父进程会fork一个子进程。直到内存中的空闲进程达到MaxSpareServers。该模式是为了兼容一些旧版本的程序。我缺省编译时的选项。
worker:如果httpd -l列出worker.c,则需要对下面的段进行配置:
<IfModule worker.c>
StartServers 2 #启动apache时启动的httpd进程个数。
MaxClients 150 #最大并发连接数。
MinSpareThreads 25 #服务器保持的最小空闲线程数。
MaxSpareThreads 75 #服务器保持的最大空闲线程数。
ThreadsPerChild 25 #每个子进程的产生的线程数。
MaxRequestsPerChild 0 #每个子进程被请求服务多少次后被kill掉。0表示不限制,推荐设置为1000。
</IfModule>

该模式是由线程来监听客户的连接。当有新客户连接时,由其中的一个空闲线程接受连接。服务器在启动时启动两个进程,每个进程产生的线程数是固定的(ThreadsPerChild决定),因此启动时有50个线程。当50个线程不够用时,服务器自动fork一个进程,再产生25个线程。

perchild:如果httpd -l列出perchild.c,则需要对下面的段进行配置:
<IfModule perchild.c>
NumServers 5 #服务器启动时启动的子进程数
StartThreads 5 #每个子进程启动时启动的线程数
MinSpareThreads 5 #内存中的最小空闲线程数
MaxSpareThreads 10 #最大空闲线程数
MaxThreadsPerChild 2000 #每个线程最多被请求多少次后退出。0不受限制。
MaxRequestsPerChild 10000 #每个子进程服务多少次后被重新fork。0表示不受限制。
</IfModule>
该模式下,子进程的数量是固定的,线程数不受限制。当客户端连接到服务器时,又空闲的线程提供服务。 如果空闲线程数不够,子进程自动产生线程来为新的连接服务。该模式用于多站点服务器。

标签:httpd,启动,几种,进程,线程,apache,服务器,对比,空闲
From: https://blog.51cto.com/u_16131207/6364823

相关文章

  • kube-proxy的iptables与ipvs模式性能对比与分析
    kube-proxy的iptables与ipvs模式性能对比与分析背景:iptables代理模式iptables是一个Linux内核功能,旨在成为一种高效的防火墙,具有足够的灵活性来处理各种常见的数据包操作和过滤需求。它允许将灵活的规则序列附加到内核数据包处理管道中的各种钩子上。在iptables模式下,kube-p......
  • 基于MIMO-OFDM通信系统的误码率matlab仿真,对比了MRC,ZF等多种接收器性能
    1.算法仿真效果matlab2022a仿真结果如下:  2.算法涉及理论知识概要    MIMO-OFDM系统的接收信号是多个发射天线发送信号的衰落与加性噪声的线性叠加,若采用通常SISO-OFDM系统或MIMO系统的估计算法估计信道,将会带来很大的估计误差。出于设计实现的考虑,本文主要研究理论相......
  • 基于MIMO-OFDM通信系统的误码率matlab仿真,对比了MRC,ZF等多种接收器性能
    1.算法仿真效果matlab2022a仿真结果如下:2.算法涉及理论知识概要MIMO-OFDM系统的接收信号是多个发射天线发送信号的衰落与加性噪声的线性叠加,若采用通常SISO-OFDM系统或MIMO系统的估计算法估计信道,将会带来很大的估计误差。出于设计实现的考虑,本文主要研究理论相对比较成熟的慢......
  • apache2是什么软件
    Apache2是一种开源的、跨平台的Web服务器软件。它是ApacheHTTPServer的第二个主要版本,通常简称为Apache。Apache2是世界上最流行的Web服务器之一,被广泛用于托管网站和提供Web服务。Apache2提供了一个可靠和稳定的基础架构,用于处理HTTP请求和响应。它支持多种操作......
  • org.apache.jasper.JasperException: Unable to compile class for JSP: An error occ
    org.apache.jasper.JasperException:UnabletocompileclassforJSP:Anerroroccurredatline:16inthejspfile:/monday-01.jspSystem.outcannotberesolvedtoatype13:<body>14:<%15:Stringa=request.getParameter("uname");......
  • 何为ORM框架?和ADO.NET 对比
    百度:ORM(ObjectRelationalMapping)框架采用元数据来描述对象与关系映射的细节,元数据一般采用XML格式,并且存放在专门的对象一映射文件中。简单理解为一种框架的格式。只要提供了持久化类与表的映射关系,ORM框架在运行时就能参照映射文件的信息,把对象持久化到数据库中。ORM是通过使......
  • 超大型纸业品牌“清风”也用上 Apache SeaTunnel 啦!
    我是韩山峰,来自金红叶纸业集团。今天,我将向大家介绍ApacheSeaTunnel在我们金红叶纸业集团中的应用场景,包括我们为何选择ApacheSeaTunnel,以及我们如何基于其提升我们内部的数据开发效率。文|韩山峰编辑整理|曾辉讲师介绍韩山峰金红叶纸业数据分析师01产品选择历程......
  • 题目中常见的几种距离
    距离在几何学里面距离并不单指直线距离,有很多其他的距离没有那么常用,但考场上可能会出现,为了防止题目不给出定义等,我们有必要认识一下各种距离。后面的角标为了清楚直接打到字母后面了欧几里得距离也被称作欧式距离,在平面直角坐标系中,设有两点\(A(x_{1},y_{1}),B(x_{2},y_{2}......
  • 一文教会你用Apache SeaTunnel Zeta离线把数据从MySQL同步到StarRocks
    在上一篇文章中,我们介绍了如何下载安装部署SeaTunnelZeta服务(3分钟部署SeaTunnelZeta单节点Standalone模式环境),接下来我们介绍一下SeaTunnel支持的第一个同步场景:离线批量同步。顾名思意,离线批量同步需要用户定义好SeaTunnelJobConfig,选择批处理模式,作业启动后开始同步数据,当......
  • 前端vue中实现文件下载的几种方法 四种方法, a.download = "重新下命名下载文件名"
    前端vue中实现文件下载的几种方法原文链接:https://blog.csdn.net/weixin_46074961/article/details/105677732第一种前端创建超链接,通过a标签向后端发送get请求,需要给a标签添加一个download属性这种写法是创造了一个a标签,把地址写到a标签里再用js调用点击,实现访问文件地址......