●Apache配置參數
安全
⑴KeepAlive On/Off:服務器
KeepAlive指的是保持鏈接活躍,也就是說,若是將KeepAlive設置爲On,那麼來自同一客戶端的請求就不須要再一次鏈接,避免每次請求都要建立一個鏈接而加劇服務器的負擔。通常狀況下,圖片較多的網站應該把KeepAlive設爲On。併發
⑵KeepAliveTimeOut number:ide
若是第二次請求和第一次請求之間超過KeepAliveTimeOut的時間,第一次鏈接就會中斷,再新建第二個鏈接。它的設置通常考慮圖片或者JS等問價再次請求的間隔,通常設置爲3-5秒網站
⑶MaxKeepAliveRequests 100:spa
一次鏈接能夠進行的http請求的最大請求次數。將其值設爲0,將支持在一次鏈接內進行無限次的傳輸請求。事實上沒有客戶程序在一次鏈接中請求太多的負面,一般達不到這個上限就完成鏈接了
rest
⑷HostnameLookups on|off|double:orm
若是使用on,那麼只有進行一次反查,若是用double,那麼進行反查以後還要進行一次正向解析,只有兩次的結果互相符合才行,而off就是不進行域名驗證。若是爲了安全,建議使用double,爲了加快訪問速度,建議使用off。(域名查找開啓這個會增長Apache的負擔,減慢訪問速度,建議關閉)
隊列
⑸timeout 5:進程
是Apache接受請求或者發出相應的時間超過這個時間斷開
⑹MPM是影響併發效率的主要因素
①StartServers 10:
設置服務器啓動時創建的子進程數量,由於子進程數量動態的取決於負載的輕重,因此通常沒有必要調整這個參數
②MinSpareServers 10:
設置空閒子進程的最小數量。因此空閒子進程是指沒有正在處理請求的子進程。若是當前空閒子進程少於MinSpareServers,那麼Apache將以最大每秒將以最大每秒一個的速度產生新的子進程。只有在很是繁忙的機器上才須要調整這個參數。
③MaxSpareThreads 75
設置空閒子進程的最大數量。若是當前有超過MaxSpareServers數量的空閒子進程,那麼父進程將殺死多餘的子進程。只有在很是繁忙的機器上才須要調整這個參數。將此參數設的太大一般是一個壞主意。若是你將該指令的值設置爲比MaxSpareServers小,Apache將會自動將其修改爲「MaxSpareServers+1」
④ServerLimit 2000
服務器容許配置的進程數上限。只有在你須要將MaxClients設置成高於默認值256的時候才須要使用。要將此指令的值保持和MaxClients同樣。修改此指令的值必須徹底中止服務後再啓動才能生效,以restart方式重啓將不會生效。
⑤MaxClients/MaxRequestWorkers 256
用於客戶端請求的最大請求數量(最大子進程數),任何超過MaxClients限制的請求都將進入等候隊列。默認值是256,若是要提升這個值必須同時提升ServerLimit的值。建議將初始值設爲(以Mb爲單位的最大物理內存/2),而後根據負載狀況進行動態調整。
⑥MaxRequestsPerChild/MaxConnectionsPerChild 0
設置的是每一個子進程可處理的請求數。每一個子進程在處理了「MaxRequestPerChild」請求後將自動銷燬。0意味着無限,即子進程永不銷燬。內存較大的服務器能夠設置爲0或較大的數字,內存較小的服務器能夠設置成30、50、100。因此通常狀況下,若是發現服務器的內存直線上升,建議修改該參數試試。