zoukankan      html  css  js  c++  java
  • apache进程和用户请求的关系

    apache工作模式:

    beos工作模式(跟linux关系不大,或者暂时用不上)

    在Beos系统上的工作模式,使用一个单独的控制线程来创建和控制处理请求的工作线程。
    event工作模式(不太稳定,或者说暂时用不上)
    event模式由于把服务进程从链接中分离出来,在开启KeepAlive场合下相对worker模式能够承受的了更高的负载。event模式为 worker开发的变种模式,配置以及指令与worker完全相同。不过event模式不能很好的支持https的访问,有时还会出现一系列的问题。
    worker工作模式(与php配合不好,或者说暂时用不上)
    worker模式由于使用线程来进行处理请求,所以能够处理海量请求,而系统资源的开销要小于基于进程的服务器。同时worker模式也使用了多进程,每个进程又有着多个线程,以获得基于进程服务器的稳定性。
    mpmt_os2工作模式(很少用,或者说暂时用不上)
    mpmt_os2是专门针对OS/2优化过的混合多进程多线程多路处理模块(MPM) 。

    prefork工作模式(本篇文章的主角,使用最多而且最稳定的工作模式)

    prefork工作模式是linux下apache安装时候的默认工作模式,是使用最普遍的工作模式。为了能够简单的明白他的工作原理,下面是一个假设:
    有一台正在运行的apache服务器,用户A访问该apache的时候apache建立一个新的进程1处理用户A的请求。
    这时又有一个用户B访问该apache,apache又建立一个新的进程2处理用户B的请求。
    后来又有用户C,D,E访问该apache,apache又建立三个进程3,4,5处理他们的请求。
    如果每当一个新用户访问该apache,apache再建立一个新的进程处理用户的请求,是不是太慢了呢?
    所以apache的prefork模式在apache第一次启动的时候就建立5个进程,等待用户的连接请求,有一个用户访问,就有一个进程处理他的请求。
    那么如果有5个用户同时访问apache,apache第一次建立的5个进程全部用光了,所以apache就再从新在建立5个进程,等待下一批用户的请求。
    prefork模式会根据服务器的硬件情况,设定apache最多只能同时建立256个进程。再多的请求就只能等待前面的进程处理完毕在进行处理。
    假设完毕
     
    说明:每次用户使用浏览器访问服务器,占用一个进程(apache的prefork工作模式下预设好的进程),当所有内容响应完毕进程就会自动关闭!
  • 相关阅读:
    C# 文件重命名
    C# 获取图像文件
    我开通了博客
    C# 图像截取
    C# 从txt读取内容
    Linux 下查看用户组信息
    部署Jenkins完整记录
    一篇文章搞定Java注解^_^
    Java基础之接口
    枚举让盗版美国总统wcc给你整明白哈哈
  • 原文地址:https://www.cnblogs.com/dudeyouth/p/6728875.html
Copyright © 2011-2022 走看看