多路處理模塊_第1頁
多路處理模塊_第2頁
多路處理模塊_第3頁
多路處理模塊_第4頁
多路處理模塊_第5頁
已閱讀5頁,還剩14頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

多路處理模塊負責綁定本機絡端口、接受請求,并調(diào)度子進程來處理請求的處理模塊01簡介-默認的MPM選擇一個MPMMPM模塊簡介目錄03020405ApacheMPMpreforkMPM常用指令-ApacheMPMworker目錄0706基本信息Apache是基于模塊化的設計,而Apache2.0更擴展了模塊化設計到Web服務器的最基本功能。服務器裝載了一種多路處理模塊,負責綁定本機絡端口、接受請求,并調(diào)度子進程來處理請求。簡介簡介多路處理模塊,Multi-ProcessingModules,MPMApache是基于模塊化的設計,而Apache2.0更擴展了模塊化設計到Web服務器的最基本功能。服務器裝載了一種多路處理模塊,負責綁定本機絡端口、接受請求,并調(diào)度子進程來處理請求。ApacheHTTP服務器被設計為一個強大的、靈活的能夠在多種平臺以及不同環(huán)境下工作的服務器。不同的平臺和不同的環(huán)境經(jīng)常產(chǎn)生不同的需求,或是為了達到同樣的最佳效果而采用不同的方法。Apache憑借它的模塊化設計很好的適應了大量不同的環(huán)境。這一設計使得站管理員能夠在編譯時和運行時憑借載入不同的模塊來決定服務器的不同附加功能。Apache2.0將這種模塊化的設計延伸到了web服務器的基礎功能上。這個版本帶有多路處理模塊(MPM)的選擇以處理絡端口綁定、接受請求并指派子進程來處理這些請求。將模塊化設計延伸到這一層次主要有以下兩大好處:Apache可以更簡潔、更有效地支持各種操作系統(tǒng)。尤其是在mpm_winnt中使用本地絡特性代替Apache1.3中使用的POSIX模擬層后,Windows版本的Apache現(xiàn)在具有更好的性能。這個優(yōu)勢借助特定的MPM同樣延伸到了其他各種操作系統(tǒng)。服務器可以為某些特定的站點進行定制。比如,需要更好伸縮性的站點可以選擇象worker或event這樣線程化的MPM,而需要更好的穩(wěn)定性和兼容性以適應一些舊的軟件的站點可以用prefork。選擇一個MPM選擇一個MPMMPM必須在編譯配置時進行選擇,并靜態(tài)編譯到服務器中。如果編譯器能夠確定線程功能被啟用,它將會負責優(yōu)化大量功能。因為一些MPM在Unix上使用了線程,而另外一些沒有使用,所以如果在編譯配置時選擇MPM并靜態(tài)編譯進Apache,Apache將會有更好的表現(xiàn)??梢栽谑褂胏onfigure腳本時用--with-mpm=NAME選項指定MPM,NAME就是想使用的MPM的名稱。一旦服務器編譯完成,就可以用./d-l命令來查看使用了哪個MPM。這個命令將列出所有已經(jīng)被編譯到服務器中的模塊,包括MPM。-默認的MPM-默認的MPM下表列出了不同操作系統(tǒng)上默認的MPM。如果你在編譯時沒有進行選擇,這將是默認選擇的MPM。MPM模塊簡介MPM模塊簡介beos專門針對BeOS優(yōu)化過的多路處理模塊(MPM)event一個標準workerMPM的實驗性變種。mpm_netwareNovellNetWare優(yōu)化過的線程化的多路處理模塊(MPM)mpmt_os2專門針對OS/2優(yōu)化過的混合多進程多線程多路處理模塊(MPM)prefork一個非線程型的、預派生的MPMmpm_winnt用于WindowsNT/windows2000/WindowsXP/windows2003系列的MPMworker線程型的MPM,實現(xiàn)了一個混合的多線程多處理MPM,允許一個子進程中包含多個線程。ApacheMPMpreforkApacheMPMpreforkPreforkingMPM概述一個非線程型的、預派生的MPM。這個多路處理模塊(MPM)實現(xiàn)了一個非線程型的、預派生的web服務器,它的工作方式類似于Apache1.3。它適合于沒有線程安全庫,需要避免線程兼容性問題的系統(tǒng)。它是要求將每個請求相互獨立的情況下最好的MPM,這樣若一個請求出現(xiàn)問題就不會影響到其他請求。這個MPM具有很強的自我調(diào)節(jié)能力,只需要很少的配置指令調(diào)整。最重要的是將MaxClients設置為一個足夠大的數(shù)值以處理潛在的請求高峰,同時又不能太大,以致需要使用的內(nèi)存超出物理內(nèi)存的大小。工作方式一個單獨的控制進程(父進程)負責產(chǎn)生子進程,這些子進程用于監(jiān)聽請求并作出應答。Apache總是試圖保持一些備用的(spare)或者是空閑的子進程用于迎接即將到來的請求。這樣客戶端就不需要在得到服務前等候子進程的產(chǎn)生。StartServers,MinSpareServers,MaxSpareServers,MaxClients指令用于調(diào)節(jié)父進程如何產(chǎn)生子進程。通常情況下Apache具有很強的自我調(diào)節(jié)能力,所以一般的站不需要調(diào)整這些指令的默認值??赡苄枰幚碜畲蟪^256個并發(fā)請求的服務器可能需要增加MaxClients的值。內(nèi)存比較小的機器則需要減少MaxClients的值以保證服務器不會崩潰。更多關于調(diào)整進程產(chǎn)生的問題請參見性能方面的提示。-ApacheMPMworker-ApacheMPMworkerworkermpm支持混合的多線程多進程的多路處理模塊概述此多路處理模塊(MPM)使絡服務器支持混合的多線程多進程。由于使用線程來處理請求,所以可以處理海量請求,而系統(tǒng)資源的開銷小于基于進程的MPM。但是,它也使用了多進程,每個進程又有多個線程,以獲得基于進程的MPM的穩(wěn)定性??刂七@個MPM的最重要的指令是,控制每個子進程允許建立的線程數(shù)的ThreadsPerChild指令,和控制允許建立的總線程數(shù)的MaxClients指令。工作方式每個進程可以擁有的線程數(shù)量是固定的。服務器會根據(jù)負載情況增加或減少進程數(shù)量。一個單獨的控制進程(父進程)負責子進程的建立。每個子進程可以建立ThreadsPerChild數(shù)量的服務線程和一個監(jiān)聽線程,該監(jiān)聽線程監(jiān)聽接入請求并將其傳遞給服務線程處理和應答。Apache總是試圖維持一個備用(spare)或是空閑的服務線程池。MPM常用指令MPM常用指令StartServers指令StartServers指令設置了服務器啟動時建立的子進程數(shù)量。因為子進程數(shù)量動態(tài)的取決于負載的輕重,所有一般沒有必要調(diào)整這個參數(shù)。MinSpareServers指令MinSpareServers指令設置空閑子進程的最小數(shù)量。所謂空閑子進程是指沒有正在處理請求的子進程。如果當前空閑子進程數(shù)少于MinSpareServers,那么Apache將以最大每秒一個的速度產(chǎn)生新的子進程。只有在非常繁忙機器上才需要調(diào)整這

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論