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