服务器优化配置

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

(1)prefork。如果httpd -l列出了prefork.c,则需要对下面的这段参数进行配置:

  1. StartServers 5      #启动Apache时启动的httpd进程个数

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

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

  4. MaxClients 150      #最大并发连接数

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

在该工作模式下,服务器启动后将启动5个httpd进程(如果加上父进程,一共6个,通过ps -ax|grephttpd命令可以看到)。当有用户请求连接时,Apache会使用一个空闲进程为该连接服务,同时父进程会fork一个子进程。直到内存中的空闲进程达到MaxSpareServers。该模式是为了兼容一些旧版本的程序。

(2)worker。如果httpd -l列出worker.c,则需要对下面的内容进行配置:

  1. StartServers 2      #启动Apache时启动的httpd进程个数

  2. MaxClients 150      #最大并发连接数

  3. MinSpareThreads 25  #服务器保持的最小空闲线程数

  4. MaxSpareThreads 75  #服务器保持的最大空闲线程数

  5. ThreadsPerChild 25  #每个子进程产生的线程数

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

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

(3)perchild。如果httpd -l列出perchild.c,则需要对下面的内容进行配置:

  1. NumServers 5            #服务器启动时启动的子进程数

  2. StartThreads 5          #每个子进程启动时启动的线程数

  3. MinSpareThreads 5       #内存中的最小空闲线程数

  4. MaxSpareThreads 10      #内存中的最大空闲线程数

  5. MaxThreadsPerChild 2000     #每个线程最多被请
    求多少次后退出。0表示不受限制

  6. MaxRequestsPerChild 10000   #每个子进程服务多
    少次后被重新fork,0表示不受限制

该模式下,子进程的数量是固定的,线程数不受限制。当客户端连接到服务器时,由空闲的线程提供服务。如果空闲的线程数不够,子进程就会自动产生线程来为新的连接服务。该模式用于多站点服务器。

摘抄--apache工作模式详解相关推荐

  1. Apache工作模式详解

    2019独角兽企业重金招聘Python工程师标准>>> prefork 工作模式 如果httpd -l列出prefork.c.则表示是 prefork 工作方式. 如下面所示:   ...

  2. linux apache两种工作模式详解

    apache两种工作模式详解 刚接触这两个配置时很迷糊,全部开启或全部注释没有几多变化.今天搜索到这么一篇讲得还不错的文章,看了几篇,还是不能完全记住,做一个收藏. 空闲子进程:是指没有正在处理请求的 ...

  3. 无线Wifi模块AP和STA工作模式详解

    无线Wifi模块AP和STA工作模式详解 Wifi模块包括两种工作模式AP和STA,在这两模式的支持下,无线图传产品可以实现一发多收的功能.下面我们就从AP和STA的基本概念开始了解它们. 一.AP和 ...

  4. ST MCU_GPIO的八种工作模式详解

    GPIO的八种工作模式详解 浮空输入_IN_FLOATING 带上拉输入_IPU 带下拉输入_IPD 模拟输入_AIN 开漏输出_OUT_OD 推挽输出_OUT_PP 开漏复用输出_AF_OD 推挽复 ...

  5. V90 PN伺服EPOS回零+点动JOG+MDI+程序步具体工作模式详解

    V90 PN伺服EPOS回零+点动JOG+MDI+程序步具体工作模式详解 1. 回零  增量式编码器主动回零 在配置回零参数界面,选择回参考点方式: 0:信号REF 即直接设定参考点方式(将当前位置 ...

  6. RabbitMQ工作流程和工作模式详解

    RabbitMQ工作流程 生产者发送消息的流程 生产者连接RabbitMQ,建立TCP连接( Connection),开启信道(Channel) 生产者声明一个Exchange(交换器),并设置相关属 ...

  7. LVS工作原理以及三种工作模式详解

    1.负载均衡LVS基本介绍 LB集群的架构和原理很简单,就是当用户的请求过来时,会直接分发到Director Server上,然后它把用户的请求根据设置好的调度算法,智能均衡地分发到后端真正服务器(r ...

  8. Linux下snort的运行模式,Snort工作模式详解

    Snort有3种工作模式,分别为嗅探器模式.分组数据包记录模式与网络**检测模式. m     嗅探器模式. Snort使用Libpcap包捕获库.在该模式下,Snort使用网络接口的混杂模式读取并解 ...

  9. SELinux的三种工作模式详解

    目录 前言 一.SELinux是什么 二.CentOS 6.x 7.x安装SELinux 三.SELinux的主要作用 四.SELinux 的工作模式(Disabled.Permissive和Enfo ...

最新文章

  1. 如何卸载Exchange Server 2010
  2. 对比电机和舵机中的PWM信号的作用
  3. 27年安全技术老兵无奈“一摔成名”,谭晓生自述一年创业进展
  4. opencv2函数学习之threshold:实现图像阈值化
  5. linux printk 源码,Printk原理简介
  6. linux 文件夹 含义 表示(转)
  7. [Android Pro] ant 编译android工程
  8. Almost Sorted Array HDU - 5532
  9. ie6 下最佳 PNG透明方案【转】
  10. 图的顺序存储(邻接矩阵存储)【摘录自严长生老师的网站】
  11. mysql_real_connect阻塞_mysql_real_connect崩溃、未经处理的异常
  12. 推荐3款移动端网页开发调试神器
  13. 【面试题】序列化的 10 几个问题
  14. C 不使用其他库生成BMP图片
  15. linux生成一个ssh密钥,ssh密钥生成方式
  16. 一分钟解决Chrome浏览器主页被hao123、360和2345篡改简单有效方法
  17. RationalDMIS 2020定制报告(EXCEL)
  18. 三峡大学计算机与信息学院王,周欢,三峡大学 计算机与信息学院
  19. Linux下的Julia安装
  20. 3D设计再次证实了“眼见为实”不靠谱

热门文章

  1. Order笔记-数据库创建
  2. MySQL如何查看连接数和状态
  3. bzoj 1095: [ZJOI2007]Hide 捉迷藏
  4. *HDU 2108 计算几何
  5. 原始套接字学习笔记(1)
  6. Jenkins在Mac平台安裝
  7. 弹出无toobar的网页
  8. R语言:使用REmap绘制超炫酷的地图
  9. linux下安装libsvm_Linux下libsvm的安装及简单练习
  10. python3 for mac_PyCharm for Mac-PyCharm Mac版下载 V2018.3.2-PC6苹果网