做網站你需要知道的Apache優化方法

本文主要和大家分享Apache優化的幾點建議,Apache是Web服務器軟件,它最常見是搭配PHP開發語言去使用。今天,小編根據Apache官方手冊再結合實際,整理出下面這些優化建議,希望對大家的Apache服務器的運行效率有效果。

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

進程間的數據交換會佔用很大內存,數據交換產生的滯後使用戶總感覺”不夠快”,所以用戶就可能去按”停止”和”刷新”,從而帶來更大的負載。一般建議小網站將MaxClients設置為12~24。

做網站你需要知道的Apache優化方法

2、選擇更好的硬件,CPU、內存、硬盤等等

這句很雞肋啦,如果有更多的銀子,誰不願意換更好的呢?

3、定期更新操作系統,打上系統補丁;如果你的操作系統支持sendfile()系統調用,則務必安裝帶有此功能的版本或補丁

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

4、HostnameLookups設置為off

儘量較少DNS查詢的次數。如果你使用了任何”Allow from domain”或”Deny from domain”指令(也就是domain使用的是主機名而不是IP地址),則代價是要進行兩次DNS查詢(一次正向和一次反向,以確認沒有作假)。所以,為了得到最高的性能,應該避免使用這些指令(不用域名而用IP地址也是可以的)。

5、為Directory加上FollowSymLinks

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

6、將AllowOverride設置為None

對於使用虛擬主機的朋友可能會覺得不方便,這樣設置將會使.htaccess中的設置失效,如果實在需要,並且在有條件的情況下,請在conf配置文件中直接寫入rewrite規則

7、禁用內容協商

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

8、MaxRequestsPerChild設置為非0以防止內存洩漏

MaxRequestsPerChild用於控制apache子進程在何時銷燬,默認為0,代表永不銷燬子進程,這可能會存在內存洩漏的風險,建議設置為10000

9、KeepAlive與KeepAliveTimeOut

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

10、不要靜態編譯apache

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


分享到:


相關文章: