Apache服務(wù)器配合PHP日趨成為當(dāng)前網(wǎng)站架設(shè)的主流應(yīng)用,但是在國內(nèi)Linux系統(tǒng)畢竟沒有Windows系統(tǒng)應(yīng)用的多,因此飄易整理下在windows系統(tǒng)下如何優(yōu)化apache的性能。
<IfModule mpm_winnt_module>
ThreadsPerChild 150 MaxRequestsPerChild 0 </IfModule> 以上是缺省的配置,一般情況下夠用了,但負荷較大的網(wǎng)站就需要修改了,否則訪問網(wǎng)站會變慢或沒有響應(yīng)。實際設(shè)置中可以根據(jù)apache-status查看apache實時連接狀態(tài),查看其中線程占用數(shù)目情況來進行相應(yīng)的調(diào)整,我的服務(wù)器最后設(shè)置如下:
其中ThreadLimit是占用系統(tǒng)線程數(shù)限制,修改后會在apache-status中直接看到效果,就是對應(yīng)的最大的可用線程數(shù)(如下所示):1 requests currently being processed, 349 idle workers 對于mpm_winnt,ThreadLimit的默認(rèn)值是1920;對于其他mpM這個值是64。 注意:Apache在編譯時內(nèi)部有一個硬性的限制"ThreadLimit 20000"(對于mpm_winnt是"ThreadLimit 15000"),你不能超越這個限制。
該參數(shù)需要根據(jù) apache-status實時的監(jiān)控情況來調(diào)節(jié),太大會導(dǎo)致內(nèi)存增長過快,直到服務(wù)器當(dāng)機,太小會導(dǎo)致服務(wù)器連接隊列在高峰期時占滿,從而導(dǎo)致網(wǎng)站連接 慢。同時我們應(yīng)該修改另一個配置文件httpd-default.php中的超時設(shè)置來配合這個參數(shù)。 對于mpm_winnt,ThreadsPerChild的默認(rèn)值是64;對于其他mpM是25。
MaxRequestsPerChild指令設(shè)置每個子進程在其生存期內(nèi)允許伺服的最大請求數(shù)量。到達MaxRequestsPerChild的限制后,子進程將會結(jié)束。如果MaxRequestsPerChild為"0",子進程將永遠不會結(jié)束。 在mpm_netware和mpm_winnt上的默認(rèn)值是"0"。 將MaxRequestsPerChild設(shè)置成非零值有兩個好處: a)可以防止(偶然的)內(nèi)存泄漏無限進行,從而耗盡內(nèi)存。 b)給進程一個有限壽命,從而有助于當(dāng)服務(wù)器負載減輕的時候減少活動進程的數(shù)量。 注意:對于KeepAlive鏈接,只有第一個請求會被計數(shù)。事實上,它改變了每個子進程限制最大鏈接數(shù)量的行為。
該參數(shù)為連接超時,缺省的300秒顯然太大,縮小該參數(shù)就會減少同時連接數(shù),即用戶實際占用的線程數(shù),這樣就可以起到配合上面ThreadsPerChlid參數(shù)的作用。
該參數(shù)為是否保持活連接,目前網(wǎng)站中一個頁面一般會包含多個文件,所以相應(yīng)用戶訪問時會有多個請求,因此開啟可以提高服務(wù)器性能。
該參數(shù)為最大的活連接請求數(shù),可以根據(jù)網(wǎng)頁實際包含的文件數(shù)目自行調(diào)節(jié)。
該參數(shù)為活連接的超時時間,一般只要設(shè)置成小于Timeout即可。
首先,apache的重新啟動。
開始>>程序>>附件>>管理工具>>任務(wù)計劃 添加任務(wù)計劃>>下一步>>apache restart>>選擇時間(可以設(shè)置的為每天凌晨2-4點)>>一路確定即可。
(附加說明:上面的apache2與mysql為服務(wù)名稱。)
這樣每天早晨4點系統(tǒng)就會自動重啟apache與mysql (附加說明:04:00為重啟時間,c:autostartserver.bat為第一步的bat文件地址)
把 LoadModule status_module modules/mod_status.so 這句加上,如果前面有帶#號,開啟的話,需要將#去除,并加入: 這是一個完整的server-status的配置。 配置完成,重新啟動apache即可(注意,不能直接restart,而要先stop,再start)
http://localhostm/server-status?refresh=N將表示訪問狀態(tài)頁面可以每N秒自動刷新一次; Deny from表示禁止的訪問地址; Allow from表示允許的地址訪問; ExtendedStatus On 表示的是待會訪問的時候能看到詳細的請求信息,另外該設(shè)置僅能用于全局設(shè)置,不能在特定的虛擬主機中打開或關(guān)閉。啟用擴展?fàn)顟B(tài)信息將會導(dǎo)致服務(wù)器運行效率降低。 |
2006-2014 IT0355.com 山西中聯(lián)科創(chuàng)科技有限公司. All Rights Reserved.
電話:0355-3728808 傳真:0355-3728808
ICP備案號:晉ICP備06003721號本站已通過國際W3C認(rèn)證
關(guān)鍵字:中聯(lián)科創(chuàng),長治網(wǎng)站建設(shè),長治網(wǎng)站推廣,長治網(wǎng)絡(luò)工程,長治軟件開發(fā),山西網(wǎng)站建設(shè),山西軟件開發(fā) 長治五金網(wǎng)