1.apache軟體處理并發的模型有幾種
有三種:prefork worker event。
prefork就是多程序響應多個請求的,會事先建立出來一部分空閑程序,但是請求比較多時會大量消耗資源,是以還需要通過最小空閑程序和最大空閑程序來限制,并引進了程序重用(master不需要将處理完請求的程序殺掉,而是保留可以
處理其他的請求),apache2.2的版本預設使用這種方式,且應用最為廣泛;
worker是單程序多線程的方式;
event就是多程序響應多請求的方式,apache2.4預設的處理模型就是event
2.prefork 和worker兩種模型
.# prefork MPM
<IfModule prefork.c> //程序模式
StartServers 10 //初始建立的程序數
MinSpareServers 10 //最小空閑的程序數
MaxSpareServers 15 //最大空閑的程序數
ServerLimit 2000 //最大啟動的程序數 預設256
MaxClients 2000 //最大并發連接配接數 預設256
MaxRequestsPerChild 4000 //每個子程序在其生命周期内允許響應的最大請求數,0不限制
</IfModule>
# worker MPM
<IfModule worker.c> //線程模式
StartServers 2 //初始建立的程序數
ThreadsPerChild 50 //每個程序建立的線程數
MinSpareThreads 100 //最小空閑的線程數
MaxSpareThreads 200 //最大空間的線程數
MaxClients 2000 //最大的并發通路量(線程)
MaxRequestsPerChild 0 //每個子線程在其生命周期内允許響應的最大請求數,0不限制
</IfModule>
3.httpd特性:
事先建立程序
按需維持适當的程序
基于子產品化設計,這是其最大的優勢;子產品支援線上加載和啟用,使用時在配置檔案中添加即可。
支援運作配置,支援單獨編譯子產品
支援多種虛拟主機的配置
支援https協定(mod_ssl)
支援使用者認證
支援基于IP或主機名的通路控制機制
支援每目錄的通路控制,支援對網站主目錄和各級目錄設定通路控制
也可以基于使用者的認證方式
支援URL重寫:伺服器将用戶端的請求的位址改寫就是URL重寫