国产探花免费观看_亚洲丰满少妇自慰呻吟_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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 青龙| 乌拉特后旗| 琼中| 偏关县| 新巴尔虎左旗| 宜宾市| 奉贤区| 衡阳市| 汉川市| 界首市| 错那县| 石泉县| 钦州市| 安康市| 定远县| 吕梁市| 葫芦岛市| 海宁市| 马公市| 盐边县| 黔江区| 来安县| 彰武县| 城口县| 高陵县| 八宿县| 若羌县| 南开区| 昌图县| 赤水市| 福建省| 金门县| 福清市| 甘谷县| 昭平县| 得荣县| 庆阳市| 侯马市| 彩票| 阳原县| 上虞市|