国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > Apache > 正文

Apache Prefork、Worker和Event三種MPM詳解

2024-08-27 18:23:33
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了Apache Prefork、Worker和Event三種MPM詳解,著重介紹了配置參數部分,需要的朋友可以參考下

Apache 2.X  支持插入式并行處理模塊,稱為多路處理模塊(MPM)。在編譯apache時必須選擇也只能選擇一個MPM,對類UNIX系統,有幾個不同的MPM可供選擇,它們會影響到apache的速度和可伸縮性。

Prefork MPM : 這個多路處理模塊(MPM)實現了一個非線程型的、預派生的web服務器,它的工作方式類似于Apache 1.3。它適合于沒有線程安全庫,需要避免線程兼容性問題的系統。它是要求將每個請求相互獨立的情況下最好的MPM,這樣若一個請求出現問題就不會影響到其他請求。

這個MPM具有很強的自我調節能力,只需要很少的配置指令調整。最重要的是將MaxClients設置為一個足夠大的數值以處理潛在的請求高峰,同時又不能太大,以致需要使用的內存超出物理內存的大小。

Worker MPM : 此多路處理模塊(MPM)使網絡服務器支持混合的多線程多進程。由于使用線程來處理請求,所以可以處理海量請求,而系統資源的開銷小于基于進程的MPM。但是,它也使用了多進程,每個進程又有多個線程,以獲得基于進程的MPM的穩定性。

每個進程可以擁有的線程數量是固定的。服務器會根據負載情況增加或減少進程數量。一個單獨的控制進程(父進程)負責子進程的建立。每個子進程可以建立ThreadsPerChild數量的服務線程和一個監聽線程,該監聽線程監聽接入請求并將其傳遞給服務線程處理和應答。

 不管是Worker模式或是Prefork 模式,Apache總是試圖保持一些備用的(spare)或者是空閑的子進程(空閑的服務線程池)用于迎接即將到來的請求。這樣客戶端就不需要在得到服務前等候子進程的產生。


Event MPM:以上兩種穩定的MPM方式在非常繁忙的服務器應用下都有些不足。盡管HTTP的Keepalive方式能減少TCP連接數量和網絡負載,但是 Keepalive需要和服務進程或者線程綁定,這就導致一個繁忙的服務器會耗光所有的線程。 Event MPM是解決這個問題的一種新模型,它把服務進程從連接中分離出來。在服務器處理速度很快,同時具有非常高的點擊率時,可用的線程數量就是關鍵的資源限 制,此時Event MPM方式是最有效的。一個以Worker MPM方式工作的繁忙服務器能夠承受每秒好幾萬次的訪問量(例如在大型新聞服務站點的高峰時),而Event MPM可以用來處理更高負載。值得注意的是,Event MPM不能在安全HTTP(HTTPS)訪問下工作。

對于Event 模式,apache給出了以下警告:

This MPM is experimental, so it may or may not work as expected .

這種MPM目前處于試驗狀態,他可能不能按照預期的那樣工作。

如何配置三種MPM                                                      

  Prefork 是UNIX平臺上默認的MPM,它所采用的預派生子進程方式也是apache 1.3中采用的模式。prefork 本身并沒有使用到線程,2.0 版本使用它是為了與1.3版保持兼容性;另一方面,perfork用單獨的子進程來處理不同的請示,之程之間是彼此獨立的,這也使其成為最穩定的MPM之一 。

如何查看當前安裝的Apache的MPM工作模式。
復制代碼 代碼如下:
[root@localhost apache]# httpd -l
Compiled in modules:
  core.c

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 宾川县| 山西省| 湟源县| 鄢陵县| 大宁县| 南和县| 辽源市| 汉寿县| 灵武市| 彰武县| 延吉市| 江孜县| 城固县| 来凤县| 谷城县| 九寨沟县| 弥渡县| 芦溪县| 健康| 吉安市| 都匀市| 洪洞县| 凤城市| 勃利县| 韶山市| 平塘县| 西林县| 资讯 | 常熟市| 大冶市| 宜川县| 杭锦旗| 苏尼特左旗| 苍山县| 玉溪市| 修水县| 塔河县| 呼伦贝尔市| 阳泉市| 特克斯县| 溧水县|