VPS中的Apache參數性能調優建議

本文將結合實際情況,給VPS新手一些Apache參數調優的建議。

請注意:實際環境變化多端,參數既可以保守的設置也可以積極的設置,本文只是針對大多數情況的個人理解。請務必根據實際情況進行調整。

首先確定Maxclients參數的值

如果你的總內存為128M,那麼該參數的值設置為3-8。一般來說,擁有128M內存的VPS性能、負載往往不會很高,大多數只是應付零星陸續的訪問請求。128M本身就已經非常小了,加上系統佔用的內存,可供Apache使用的內存並不多。

如果你的總內存為256M,那麼該參數的值可以設為5-10。

如果總內存為512M,則該參數設置為20以內即可。

如果你的站點是對訪客全靜態的,VPS管理百科建議採用Nginx作為前端的架構,將MaxClients調整的略大,這樣可以提供更多的併發訪問;但如果站點運行着Wordpress這種占內存、耗資源的龐大系統,則建議將此值調整的稍小,以防止超出物理內存而調用swap;

在調整完此參數后,需要使用ab進行負載壓力測試,然後將此值調整至負載最大時內存剛好用完但卻不使用swap為佳。

然後根據MaxClients的值確定StartServers

StartServers相對來說並非如此重要,如果網站大多數時候壓力很小,則將此值設置為MaxClients的1/3到1/2即可。這個值決定了在Apache啟動時創建的進程數量,但往往在正常運行時,進程數量並非這個數。

然後調整MinSpareServers

MinSpareServers決定了最少空閑的進程數量。即:即使Apache沒有任何請求需要處理,也會有MinSpareServers個進程待命。這樣做的目的是為了準備可能到來的訪問高峰。如果你的網站訪問量總的情況比較平穩,則此值可以小一點;若網站負載不定,一會大一會小,則此值可設置偏大一點;

調整MaxSpareServers

MaxSpareServers決定了最大的空閑進程數量。此設計是為了在處理完訪問后更快的釋放內存資源。如果此值設置過大,則服務器在訪問高峰期過後,Apache仍然有很多子進程佔用內存;如果此值設置過小,則當高負載結束后,Apache會迅速的殺死多餘進程以釋放資源。

調整MaxRequestsPerChild

MaxRequestsPerChild的設置作用是為了讓進程在處理一定數量的請求之後退出,以減少內存佔用。同時,它還對潛在的內存泄露有一定防範作用。一般來說,如果服務器配置較低,可以設得小一點;服務器配置較好,可以設置大一點。

對於VPS來說,從200到5000都是可接受的範圍。

總結

參數調優並非紙上談兵,而是根據最複雜的情況,綜合多種約束條件,逐步調整的。VPS管理百科希望初學者能根據自己服務器的硬件配置進行嘗試,既鍛煉了實際操作能力,還能對Apache的性能參數有更深刻的了解。也可以繼續參考VPS管理百科對MPM參數調整的建議對Apache的性能進行測試

发表评论