Apache 的工作模式

來源:互聯網
上載者:User

標籤:方式   穩定性   多進程   並發   多個   特性   平台   發展趨勢   處理   

Apache 的工作模式

1.apache三種工作模式
我們都知道Apache有三種工作模組,分別為prefork、worker、event。
    prefork:多進程,每個請求用一個進程響應,這個過程會用到select機制來通知。
    worker:多線程,一個進程可以產生多個線程,每個線程響應一個請求,但通知機制還是select不過可以接受更多的請求。
    event:基於非同步I/O模型,一個進程或線程,每個進程或線程響應多個使用者請求,它是基於事件驅動(也就是epoll機制)實現的。

2.prefork的工作原理
       如果不用“--with-mpm”顯式指定某種MPM,prefork就是Unix平台上預設的MPM.它所採用的預派生子進程方式也是 Apache1.3中採用的模式.prefork本身並沒有使用到線程,2.0版使用它是為了與1.3版保持相容性;另一方面,prefork用單獨的子 進程來處理不同的請求,進程之間是彼此獨立的,這也使其成為最穩定的MPM之一。

3.worker的工作原理
       相對於prefork,worker是2.0版中全新的支援多線程和多進程混合模型的MPM.由於使用線程來處理,所以可以處理相對海量的請求,而 系統資源的開銷要小於基於進程的伺服器.但是,worker也使用了多進程,每個進程又產生多個線程,以獲得基於進程伺服器的穩定性.這種MPM的工作方 式將是Apache2.0的發展趨勢。

4.event 基於事件機制的特性
       一個進程響應多個使用者請求,利用callback機制,讓通訊端複用,請求過來後進程並不處理請求,而是直接交由其他機制來處理,通過epoll機制來通知請求是否完成;在這個過程中,進程本身一直處於空閑狀態,可以一直接收使用者請求。可以實現一個進程程響應多個使用者請求。支援持海量並發串連數,消耗更少的資源。

Apache 的工作模式

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.