標籤:apache的mdm模組
MPM:Multipath processing Modules (多路處理模組)(1)prefork:多進程模型,每個進程響應一個請求;一個主進程:負責產生子進程及回收子進程;負責建立通訊端;負責接收請求,並將其派發給某子進程進行處理; n個子進程:每個子進程處理一個請求; 工作模型:會預先產生幾個空閑進程,隨時等待用於響應使用者請求;最大空閑和最小空閑; (2)worker:多進程多執行緒模式,每線程處理一個使用者請求; 一個主進程:負責產生子進程;負責建立通訊端;負責接收請求,並將其派發給某子進程進行處理; 多個子進程:每個子進程負責產生多個線程; 每個線程:負責響應使用者請求; 並發響應數量:m*n m:子進程數量 n:每個子進程所能建立的最大線程數量; (3)event:事件驅動模型,多進程模型,每個進程響應多個請求; 一個主進程 :負責產生子進程;負責建立通訊端;負責接收請求,並將其派發給某子進程進行處理; 子進程:基於事件驅動機制直接響應多個請求; httpd-2.2: 仍為測試使用模型; httpd-2.4:event可生產環境中使用;httpd-2.2不支援同時編譯多個MPM模組,所以只能編譯選定要使用的那個;CentOS 6的rpm包為此專門提供了三個應用程式檔案,httpd(prefork), httpd.worker, httpd.event,分別用於實現對不同的MPM機制的支援;確認現在使用的是哪下程式檔案的方法:ps aux | grep httpd預設使用的為/usr/sbin/httpd,其為prefork的MPM模組 ;查看httpd程式的模組列表:查看靜態編譯的模組:# httpd -l查看靜態編譯及動態編譯的模組:# httpd -M更換使用httpd程式,以支援其它MPM機制;vim /etc/sysconfig/httpdHTTPD=/usr/sbin/httpd.{worker,event}注意:重啟服務進程方可生效MPM配置:/etc/httpd/conf/httpd.confprefork的配置<IfModule prefork.c>StartServers 8# 伺服器剛啟動是就啟動多少個空閑進程MinSpareServers 5# 最小空閑進程數MaxSpareServers 20# 最大空閑進程數ServerLimit 256# 最大啟動多少個進程MaxClients 256# 最大啟動多少個進程響應用戶端請求。最大並發數MaxRequestsPerChild 4000# 每個進程最多可以處理多少個請求,達到4000個就銷毀一個進程</IfModule>worker的配置:<IfModule worker.c>StartServers 4# 伺服器剛啟動是就啟動多少個空閑進程MaxClients 300# 最大啟動多少個進程響應用戶端請求。最大並發數MinSpareThreads 25# 最小空閑進程數MaxSpareThreads 75# 最大空閑進程數ThreadsPerChild 25# 每個進程最大可產生多少個線程MaxRequestsPerChild 0# 進程處理的請求數量不受限制</IfModule>PV:Page View:日點擊量,有多少個頁面被點擊
apache的MDM模組