Apache 工作模式詳解

2022-05-18 10:14:12 字數 1454 閱讀 5066

apache 工作模式詳解

apache 2.x  支援插入式並行處理模組,稱為多路處理模組(mpm)。在編譯apache時必須選擇也只能選擇乙個mpm,對類unix系統,有幾個不同的mpm可供選擇,它們會影響到apache的速度和可伸縮性。

apache啟動會通過指定ip監聽pid埠 會開通過主程序開啟多個子程序 或多執行緒客戶端通過ip訪問到apache監聽埠 tcp請求資源,apche會把請求轉交給子程序處理,獲取資源,當客戶端請求完畢,程序會演變為將死狀態,請求主程序將執行緒或子程序殺死,釋放記憶體,如果主程序忙碌沒有殺死,它就會演變為殭屍程序,消耗記憶體資源並不斷向主程序發起請求將它殺死。
aapache 處理請求流程

prefork mpm

prefork工作原理:prefork會建立多個子程序每個子程序處理乙個請求(預設5個),它的特點在於域派生功能,當請求數量大於開啟的子程序數量時就會建立多個子程序最多每秒32個,最大併發鏈結伐值是自定義的。請求客戶端減少後系統就刪除多餘的子程序。

優點:1、pfrefork穩定性比較強。每個子程序都會獨立處理對應的單個請,如果其中乙個請求出現問題就不會影響到其他請求。

2、prefork在所有情況下都很安全,對執行非執行緒安全(non-thread-safe)模式的軟體如php,它是唯一的安全選擇。

缺點:1、prefork每乙個請求都會產生乙個新的程序,導致系統資源(尤其是記憶體)消耗的很快,一旦併發量較大的時候,大量的apache程序會占用巨大的記憶體空間。

worker mpm

worker工作原理:worker建立多個子程序每個子程序下會建立多個執行緒,它的特點在於處理多個請求數量,每個子程序通過執行緒處理多個請求。執行緒本身沒有記憶體,多個執行緒使用的是乙個子程序的記憶體。

優點:1、worker多執行緒模式,可以處理更多的併發請求。

2、worker使用的記憶體資源更小,對系統的開銷更小。

缺點:1、worker處理多個請求在乙個子程序內,如果乙個執行緒出現問題會連帶其他執行緒,穩定性不強。

2、資源爭奪,多個執行緒訪問乙個子程序的記憶體空間 。可通過鎖檔案機制解決。

event mpm

以上兩種穩定的mpm方式在非常繁忙的伺服器應用下都有些不足。儘管http的keepalive方式能減少tcp連線數量和網路負載,但是 keepalive需要和服務程序或者執行緒繫結,這就導致乙個繁忙的伺服器會耗光所有的執行緒。 event mpm是解決這個問題的一種新模型,它把服務程序從連線中分離出來。在伺服器處理速度很快,同時具有非常高的點選率時,可用的執行緒數量就是關鍵的資源限 制,此時event mpm方式是最有效的。event mpm可以用來處理更高負載。值得注意的是,event mpm不能在安全http(https)訪問下工作。 

優點:1、處理更高的負載請求,不需要keepalive建立鏈結。

缺點:1、不能在安全https訪問下工作。

摘抄 apache工作模式詳解

伺服器優化配置 apache的主要優勢就是能更好地支援多處理器,在編譯時通過使用 with mpm選項來決定apache的工作模式。如果知道當前的apache使用的工作機制,則可以通過httpd l命令列出apache的所有模組,從而就可以知道其工作方式。1 prefork。如果httpd l列出了...

摘抄 apache工作模式詳解

伺服器優化配置 apache的主要優勢就是能更好地支援多處理器,在編譯時通過使用 with mpm選項來決定apache的工作模式。如果知道當前的apache使用的工作機制,則可以通過httpd l命令列出apache的所有模組,從而就可以知道其工作方式。1 prefork。如果httpd l列出了...

Apache工作模式

手工編譯安裝apache 解包 安裝手工編譯軟體包 yum install gcc gcc c pcre devel pcre zlib devel make y 執行configure make編譯 make make install 安裝完成之後建立一條軟鏈結 編輯主配置檔案 其餘配置與普通ap...