Multi-Processing Module

整個Apache HTTP Server(簡稱httpd)基本上是執行於APR(Apache Portable Runtime)之上,由APR再與底層作業系統(Operating System, OS)運行,達到跨平台運行的目的。

然而萬事並非完美,有些功能(實作與原理)不是每個作業系統都相同,因此Multi-Processing Module(簡稱MPM)的設計由其必要性,MPM的設計是針對各作業系統的獨特性提供最佳化的抽象介面給頂層的httpd,這樣的好處是可以提高執行效率,不會因為跨平台的優點而折衷效能,這是Apache模組當中唯一直接與OS溝通的模組!

MPM預設值

下表列出不同作業系統的預設MPM模組,MPM的選擇必須是編譯期間(compile-time)就已經決定,沒有設定就用預設值,建置時將會把MPM模組編入httpd程式當中。

以上共5種MPM,另外還有兩個MPM模組可供使用:分別是worker(多執行緒)與event。

選擇MPM