Windows 2003中Apache記憶體效能最佳化

來源:互聯網
上載者:User

最簡單的辦法是利用mpm_winnt來設定該多路處理模組(MPM)是Windows NT上的預設值。它使用一個單獨的父進程產生一個單獨的子進程,在這個子進程中輪流產生多個線程來處理請求。

說明 專門為Windows NT最佳化過的MPM
狀態 MPM
模組名 mpm_winnt_module
源檔案 mpm_winnt.c

apache2confhttpd.conf,尋找MaxRequestsPerChild,將MaxRequestsPerChild 0改成MaxRequestsPerChild 50即可。

如果沒有上面所有的我們可以在httpd.conf找到httpd-mpm.conf把前在的#去了,然後到confextra目錄找到httpd-mpm.conf,然後找到最後一行 有 # WinNT MPM開的,代表只能用在windows下的,其它不要管,不適合我們windows伺服器。

如果沒有我們可以增加

相關參數說明

ThreadsPerChild

  這個參數用於設定每個進程的線程數, 子進程在啟動時建立這些線程後就不再建立新的線程了. 一方面因為mpm_winnt不能啟動多個進程, 所以這個數值要足夠大,以便可以處理可能的請求高峰; 另一方面該參數以伺服器的響應速度為準的, 數目太大的反而會變慢。因此需要綜合均衡一個合理的數值。

mpm_winnt上的預設值是64, 最大值是1920. 這裡建議設定為100-500之間,伺服器效能高的話值大一些,反之值小一些。


MaxRequestsPerChild

這個參數是說,apache進程在處理了多少個請求之後,必須退出,重新開始,以免在處理中的記憶體問題。


Win32DisableAcceptEx

AcceptEx()是一個微軟的WinSock2 API ,通過使用BSD風格的accept() API提供了效能改善。一些流行的Windows產品,比如防毒軟體或虛擬私人網路軟體,會干擾AcceptEx()的正確操作。如果你遇到類似於如下的錯誤:

[error] (730038)An operation was attempted on something that is not a socket.: winnt_accept: AcceptEx failed. Attempting to recover.

你就需要使用這個指令來禁止使用AcceptEx()

 代碼如下 複製代碼

<IfModule mpm_winnt_module>
    ThreadLimit 1000   
    ThreadsPerChild      500
    MaxRequestsPerChild    10000
    Win32DisableAcceptEx
    EnableMMAP off
    EnableSendfile off
</IfModule>

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.