apache配置优化
最近參加了很多面試,多多少少有點小感悟,可以說觀念轉變了不少,特別是對于作為一個開發人員的定位,原來只是認為開發人員就只需要寫好代碼就行了,所以只需要有數據結構,算法,設計模式,重構方面的知識就行了。但是經過多次的面試,認識到網站的維護和優化也是開發人員的一個必要的素質。幾乎所有的面試官都會問到一個問題,那就是如何優化一個網站,這個問題涉及到很多方面,其實面試官就是想考察你對常見的服務器,數據庫的知識是否熟悉。
?
apache的配置優化可以從以下幾個方面來考慮:
?
一 . 內存
? ? ? ? ? ?要讓服務器運行的足夠快,重點是要確保有足夠的內存。方法是測定運行Apache進程平均所需的內存容量。將此數目乘上最大負荷量。
? ? ? ? ? ?如果不管什么原因都無法替服務器加入更多的內存,可以用相同的技術推算出在任何時間能夠服務的最大子進程數,并使用MaxClient
? ? ? ? ? ?指令來限制Apache最多只能處理這么多進程。
二. 調節保持鏈接(KeepAlive)的設定
? ? ? ? ? http的默認行為是在新的連接上請求文件,這會花費許多時間啟動與關閉連接。使用KeepAlive可以在單一連接時進行多個請求,因此
? ? ? ? ? 可以減少建立socket連接所需要的時間,而這又會加快客戶端在請求網頁內容時的加載速度。
? ? ? ? ? ? ?KeepAlive On
? ? ? ? ? ? ?MaxKeepAliveRequests 0
? ? ? ? ? ? ?KeepAliveTimeout 15
三.避免DNS查詢
? ? ? ? ? DNS查詢會花非常久的時間,因此應該盡量的避免,如果完全無法查詢客戶端的地址,可能需要幾分鐘才會讓查詢過期,而
? ? ? ? ? 在這段時間內,執行查詢的子進程將無法做其他的事情。方法將HostNameLookups指令始終設為off
四.最佳化符號鏈接
? ? ? ? ? 如果服務器被設定成不遵循符號鏈接,則Apache必須考慮文件以及目錄是不是符號連接。則Apache必須考慮文件以及目錄是不是符號鏈接,
? ? ? ? ? 此外,如果啟用Option SymLinksIfOwnerMatch, Apache不僅必須檢查特定的文件是否是符號鏈接,還要檢查鏈接本身以及對象的所有權。
? ? ? ? ?雖然這會強制實行某種安全防護原則,但卻會花費相當多的時間。并會降低運行速度。如果重點考慮性能,則使用Option FollowSymlinks,即Apache
? ? ? ? ?設置不會檢查是不是符號鏈接。
五.最小化.htaccess文件對性能的影響
? ? ? ? ?只在必要的目錄中啟用AllowOverride,并告知Apache不要浪費時間在別的位置查找.htacess文件
? ? ? ? ?AllowOverride None
? ? ? ? ?然后以<Diretory>區塊啟動必要的.htacess文件
六.禁用網頁內容協商
? ? ? 如果有可能,請禁用網頁內容協商。不過,如果必須使用網絡協商,例如有多種語言的網站,則應該使用type-map處理器而非MultiViews指令。
? ? ? 當使用MultiViews送出請求時,Apache都需要取得目錄列表。
? ? ? 禁用非必要的網頁內容協商。如果真的需要使用網頁內容協商,請使用type-map處理器而非MultiViews選項
? ? ? Option -MultiViews
? ? ? AddHandler type-map var
七. 最佳化進程的產生
? ? ? ? MinSpareServers以及MaxSpareServers指令會控制服務器池的大小,以便永遠有子進程等待服務引入的請求。
? ? ? ? 如果閑置的進程數少于MinSpareServers,則Apache會產生更多的進程達到最少數目;同理,如果空閑進程數比MaxSpareServers多,
? ? ? ?Apache則會刪除進程直到少于最大數目。
八.調節線程的產生
? ? ? ? 原理同(七)
轉載于:https://www.cnblogs.com/zenus/p/4472512.html
總結
以上是生活随笔為你收集整理的apache配置优化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Javascript aop(面向切面编
- 下一篇: JVM性能调优(转)