1.Apache做爲現今web服務器用的最普遍也是最穩定的開源服務器軟件 2.其工做模式有許多種,源碼包安裝httpd時可查看httpd-mpm.conf文件,該文件位於extra/conf目錄中 3.目前主要有兩種模式: event模式:一個進程中包含多個線程 prefork模式:一個進程中包含一個線程 worker模式:一個進程中包含多個線程
1.event是Apache最新的工做模式,它和worker模式很像,不一樣的是在於它解決了keep-alive長鏈接的時候佔用線程資源被浪費的問題 2.event工做模式在遇到某些不兼容的模塊時,會失效,將會回退到worker模式 3.event工做模式須要Linux系統(Linux 2.6+)對epoll的支持,才能啓用。須要補充的是HTTPS的鏈接(SSL) 4.在event工做模式中,會有一些專門的線程用來管理這些keep-alive類型的線程 5.當有真實請求過來的時候,將請求傳遞給服務器的線程執行完畢後,又容許它釋放 6.這樣, 一個線程就能處理幾個請求了 ,實現了 異步非阻塞。這加強了在高併發場景下的請求處理
在httpd-mpm.conf配置文件中,如下是prefork模塊的定義web
<IfModule mpm_event_module> StartServers 3 MinSpareThreads 75 MaxSpareThreads 250 ThreadsPerChild 25 MaxRequestWorkers 400 MaxConnectionsPerChild 0 </IfModule>
參數說明服務器
1.可根據生產環境進行調試,以肯定合適參數
2.優化參考併發
<IfModule mpm event module> ServerLimit 1000 StartServers 20 MinSpareThreads 25 MaxSpareThreads 1200 ThreadsPerChild 50 MaxRequestWorkers 2000 MaxC onnectionsPerChild 1000 </IfModule>
prefork參數講解
在httpd-mpm.conf配置文件中,如下是prefork模塊的定義異步
<IfModule mpm_ prefork module> StartServers 20 MinSpareServers 10 MaxSpareServers 50 MaxClients 150 MaxRequestsPerChild 0 </IfModule>
參數說明:ide
1.可根據生產環境進行調試,以肯定合適參數
2.優化參考高併發
<IfModule mpm prefork module> ServerLimit 1000 StartServers 10 MinSpareServers 10 MaxSpareServers 30 MaxClients 1000 MaxRequestsPerChild 5000 </IfModule>
目錄屬性參數:優化