配置網站,要充分的把系統資源利用出去,榨乾系統的一切潛能,讓網站速度發揮到極致。 Apache,是使用者瀏覽和網站資料的一個中間橋樑。但在這裡,我們雖然做得併不是很多,但是如果心細打理,有些設定也會起到立竿見影的效果。
1、安裝Apache的時候,要正確選擇MPM
要想讓Apache的效能最好,那麼第一步要做到的是:選擇合適的MPM。 ( 建議學習:Apache伺服器 )
Apache有3個MPM,它們分別為:event、prefork和worker。
其中,event這個MPM比較適用於有大量連續連線的情況。 KeepAlive的好處是,可以在同一個TCP連線中相應多次請求:這種方式,可以讓一個包含大量圖片的HTML文件加速50%。在Apahce設定檔httpd.conf中設定KeepAlive為On,就可以啟動KeepAlive。
prefork 是一個非執行緒的MPM,。它的特點是:雖然不是很快,但是很穩定。它能夠隔離每個請求,所以,如果某個請求發生故障,不會影響其它請求。使用 prefork最重要的一個參數是MaxClients。
這個MaxClients數值要夠大,這樣可以在存取高峰時發揮很好的效能;但是同時又不能太大,致使Apache所需記憶體超出物理記憶體的大小。
worker是Apache2版本中新開發的MPM,速度比prefork快很多。而且,由於使用多執行緒進行存取處理,所以能夠處理相對海量的請求,而係統資源的佔用也要小於基於進程的伺服器。 worker是Apache 2的主要使用方式。
worker有兩個比較重要的設定參數,就是:ThreadsPerChild和MaxClients。 ThreadsPerChild用來控制每個子程序允許建立的執行緒數,MaxClients 用來控制允許建立的總執行緒數。
那麼,這3個MPM要如何選擇呢?
如果需要更好伸縮性,可以選用worker或event(因為它們是線程化的MPM);如果需要更好的穩定性和相容性(例如要適應一些舊的軟體) ,可以選用prefork。 《從prefork到worker:修改ubuntu apache工作模式》
如果你仍然無法評估自己的需求,仍然不知道應該選擇哪個MPM,那就建議使用worker。
2、Apache設定最佳化
在Ubuntu中,Apache主要設定檔是/etc/apache2/apache.conf,以下就針對這個檔案來設定。
(1)關閉DNS查詢
HostnameLookups在預設情況是已經設定為off,務必保持該設定。如果需要統計客戶端DNS,那麼可以使用第三方軟體來實現。
(2)優化MaxClients
Apache2啟動的時候會建立一些進程(設定檔中的StartServer設定的數目),並且保持一個最大的MaxClients數;每一個超過該數目的連接請求,都會排隊等待。
以上是Apache伺服器效能如何最佳化的詳細內容。更多資訊請關注PHP中文網其他相關文章!