Apache優化建議

Apache是Web服務器軟件,它最多見是搭配PHP開發語言去使用。今天,小編根據Apache官方手冊再結合實際,整理出下面這些優化建議,但願對你們的Apache服務器的運行效率有效果。html

一、控制MaxClients的設置,以免服務器產生太多的子進程而發生交換。apache

進程間的數據交換會佔用很大內存,數據交換產生的滯後使用戶總感受」不夠快」,因此用戶就可能去按」中止」和」刷新」,從而帶來更大的負載。通常建議小網站將MaxClients設置爲12~24。緩存

二、選擇更好的硬件,CPU、內存、硬盤等等服務器

這句很雞肋啦,若是有更多的銀子,誰不肯意換更好的呢?dom

三、按期更新操做系統,打上系統補丁;若是你的操做系統支持sendfile()系統調用,則務必安裝帶有此功能的版本或補丁ide

在支持sendfile的系統中,Apache2能夠更快地發送靜態內容並且佔用較少的CPU時間。性能

 

四、HostnameLookups設置爲off優化

儘可能較少DNS查詢的次數。若是你使用了任何」Allow from domain」或」Deny from domain」指令(也就是domain使用的是主機名而不是IP地址),則代價是要進行兩次DNS查詢(一次正向和一次反向,以確認沒有做假)。因此,爲了獲得最高的性能,應該避免使用這些指令(不用域名而用IP地址也是能夠的)。網站

五、爲Directory加上FollowSymLinks操作系統

若是網站空間中沒有使用 Options FollowSymLinks ,Apache就必須執行額外的系統調用以驗證符號鏈接。例如:在請求」/index.html」時,Apache將對」/www」、」/www/htdocs」、」/www/htdocs/index.html」執行lstat()調用。並且lstat()的執行結果不被緩存,所以對每個請求都要執行一次。

六、將AllowOverride設置爲None

對於使用虛擬主機的朋友可能會以爲不方便,這樣設置將會使.htaccess中的設置失效,若是實在須要,而且在有條件的狀況下,請在conf配置文件中直接寫入rewrite規則

七、禁用內容協商

儘管在實踐中,內容協商的好處大於性能的損失,若是你很在乎那一點點的性能損失,則能夠禁止使用內容協商。可是仍然有個方法能夠提升服務器的速度,就是不要使用通配符。

八、MaxRequestsPerChild設置爲非0以防止內存泄漏

MaxRequestsPerChild用於控制apache子進程在什麼時候銷燬,默認爲0,表明永不銷燬子進程,這可能會存在內存泄漏的風險,建議設置爲10000

九、KeepAlive與KeepAliveTimeOut

若是你使用的使mpm_prefork模式(apache默認安裝),那麼建議你將KeepAlive設置爲off;由於,開啓keepalive會爲每一個客戶端創建一個鏈接,prefork不會建立線程,估計100個用戶同時訪問你的網站,apache就會掛了~,若是你實在想開啓,那麼請將KeepAliveTimeOut 時間設置更短些,例如5,默認是60秒呢

十、不要靜態編譯apache

儘管會有不少人和你說靜態編譯的好處,同時,你本身也想本身編譯一把,以體驗樂趣~可是,將模塊已靜態方式編譯進apache絕對不是一個好選擇,尤爲是對於缺銀子的站長們來講,一個配置不當,apache會在啓動時就佔用光你全部的內存,最後拖垮服務器。

相關文章
相關標籤/搜索