1. 程式人生 > 實用技巧 >windows server2008下apache2.4如何實現高併發

windows server2008下apache2.4如何實現高併發

在windows 下執行apache併發大的情況下會出現堵塞現象,為了解決這個現象,可以採取以下辦法。

啟用MPM模組配置檔案 我們需要在httpd.conf檔案中啟用該配置檔案,如下所示: # Server-pool management (MPM specific)
1 Include conf/extra/httpd-mpm.conf

  

(去掉該行前面的註釋符號"#") 啟用MPM模組後找到配置檔案進行編輯。 在Apace安裝目錄/conf/extra目錄中有一個名為httpd-mpm.conf的配置檔案。該檔案主要用於進行MPM模組的相關配置。不過,在預設情況下,Apache的MPM模組配置檔案並沒有啟用。 此時,我們就需要根據當前Apache伺服器所使用的MPM模組,來修改對應<IfModule>節點下的引數配置。首先,我們來看看mpm_winnt模組下的預設配置: #由於mpm_winnt模組只會建立1個子程序,因此這裡對單個子程序的引數設定就相當於對整個Apache的引數設定。
1 2 3 4 <IfModule mpm_winnt_module> ThreadsPerChild 150 #推薦設定:小型網站=1000 中型網站=1000~2000 大型網站=2000~3500 MaxRequestsPerChild 0 #推薦設定:小=10000 中或大=20000~100000 旅遊攻略 www.caoyuantianlu.org </IfModule>

  

對應的配置引數作用如下: ThreadsPerChild 每個子程序的最大併發執行緒數。 MaxRequestsPerChild 每個子程序允許處理的請求總數。如果累計處理的請求數超過該值,該子程序將會結束(然後根據需要確定是否建立新的子程序),該值設為0表示不限制請求總數(子程序永不結束)。 該引數建議設為非零的值,可以帶來以下兩個好處: 可以防止程式中可能存在的記憶體洩漏無限進行下去,從而耗盡記憶體。 給程序一個有限壽命,從而有助於當伺服器負載減輕的時候減少活動程序的數量。 注意:在以上涉及到統計請求數量的引數中,對於KeepAlive的連線,只有第一個請求會被計數。