码迷,mamicode.com
首页 > Web开发 > 详细

详解Apache三种工作模式及目录属性

时间:2019-11-05 18:32:51      阅读:117      评论:0      收藏:0      [点我收藏+]

标签:支持   生产环境   ext   源码   环境   进程   调试   module   code   

Apache工作模式介绍
1.Apache作为现今web服务器用的最广泛也是最稳定的开源服务器软件
2.其工作模式有许多种,源码包安装httpd时可查看httpd-mpm.conf文件,该文件位于extra/conf目录中
3.目前主要有两种模式:
event模式:一个进程中包含多个线程
prefork模式:一个进程中包含一个线程
worker模式:一个进程中包含多个线程

event工作模式介绍

1.event是Apache最新的工作模式,它和worker模式很像,不同的是在于它解决了keep-alive长连接的时候占用线程资源被浪费的问题
2.event工作模式在遇到某些不兼容的模块时,会失效,将会回退到worker模式
3.event工作模式需要Linux系统(Linux 2.6+)对epoll的支持,才能启用。需要补充的是HTTPS的连接(SSL)
4.在event工作模式中,会有一些专门的线程用来管理这些keep-alive类型的线程
5.当有真实请求过来的时候,将请求传递给服务器的线程执行完毕后,又允许它释放
6.这样, 一个线程就能处理几个请求了 ,实现了 异步非阻塞。这增强了在高并发场景下的请求处理

event参数讲解

在httpd-mpm.conf配置文件中,以下是prefork模块的定义

<IfModule mpm_event_module>
  StartServers      3
  MinSpareThreads       75
  MaxSpareThreads       250
  ThreadsPerChild       25
  MaxRequestWorkers     400
  MaxConnectionsPerChild  0
</IfModule>

参数说明
技术图片

event优化建议

1.可根据生产环境进行调试,以确定合适参数
2.优化参考

<IfModule mpm event module>
  ServerLimit       1000
  StartServers  20
  MinSpareThreads       25
  MaxSpareThreads       1200
  ThreadsPerChild       50
  MaxRequestWorkers     2000
  MaxC onnectionsPerChild 1000
</IfModule>

prefork工作模式介绍

技术图片
prefork参数讲解
在httpd-mpm.conf配置文件中,以下是prefork模块的定义

<IfModule mpm_ prefork module>
  StartServers      20
  MinSpareServers       10
  MaxSpareServers       50
  MaxClients        150
  MaxRequestsPerChild   0
</IfModule>

参数说明:
技术图片

prefork优化建议

1.可根据生产环境进行调试,以确定合适参数
2.优化参考

<IfModule mpm prefork module>
  ServerLimit           1000
  StartServers      10
  MinSpareServers       10
  MaxSpareServers       30
  MaxClients        1000
  MaxRequestsPerChild 5000
</IfModule>

worker工作方式

技术图片
技术图片

Apache目录属性

技术图片
目录属性参数:
技术图片
技术图片

详解Apache三种工作模式及目录属性

标签:支持   生产环境   ext   源码   环境   进程   调试   module   code   

原文地址:https://blog.51cto.com/14475593/2447946

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!