IIS-Server is too busy _解決方案

來源:互聯網
上載者:User
 

httpRuntime Server Too Busy

修改方法:修改伺服器.net配置“machine.config"檔案,該檔案位於Windows系統目錄下,如“C:\WINDOWS \Microsoft.NET\Framework\v1.1.4322\CONFIG ”,視你的網盤程式版本,修改對應目錄下的 machine.config檔案,如2.0版本使用者就修改“C:\WINDOWS\Microsoft.NET\Framework \v2.0.50727\CONFIG”下的machine.config檔案,尋找該檔案中的“processModel”配置段落,修改其中的欄位 maxWorkerThreads="200" maxIoThreads="200",1.1和2.0的預設段落不太一樣,修改後的配置如下:

1.1版本:

<processModel
enable="true"
timeout="Infinite"
idleTimeout="Infinite"
shutdownTimeout="0:00:05"
requestLimit="Infinite"
requestQueueLimit="5000"
restartQueueLimit="10"
memoryLimit="60"
webGarden="false"
cpuMask="0xffffffff"
userName="machine"
password="AutoGenerate"
logLevel="Errors"
clientConnectedCheck="0:00:05"
comAuthenticationLevel="Connect"
comImpersonationLevel="Impersonate"
responseDeadlockInterval="00:03:00"
maxWorkerThreads="200"
maxIoThreads="200"
/>

2.0版本:
原來預設的是<processModel autoConfig="true"/>

改為<processModel maxWorkerThreads="200" maxIoThreads="200"/>

不用重新啟動伺服器就可以看到效果。

以上只是個人實踐體會,我的伺服器狀態是:2003作業系統,

*****************************************************************************************************************************

最近公司的一個ASP.NET網站頻繁出現Server Too Busy錯誤,具體表現為頁面響應慢、經常出現Server Too Busy異常;但實際上伺服器的資源消耗卻很低,CPU使用只有10%左右,非常奇怪。

該網站運行環境為Windows 2000,IIS5.0,.NET Framework 1.1,網站壓力約為每秒10個串連,峰值時約為30。

從網上尋找相關資料後,從表現出的情況來看(響應慢,拋出Server Too Busy異常),初步判斷為同時串連過多引起的線程阻塞引起。修改web.config中的httpRuntime配置節中的appRequestQueueLimit參數後,Server Too Busy 的錯誤得到解決。此參數預設從machine.config中繼承,預設值為100,改為1000後Server Too Busy的錯誤不再出現。

雖然伺服器忙的錯誤解決了,但是網站響應還是很慢,有時候要等上5—10秒才能開啟頁面。分析原因應該是同時請求過多,而IIS背景工作執行緒不足的原因引起,修改machine.config中processModel配置節maxWorkerThreads參數為200後網站響應速度慢的問題得到解決。此參數預設值為20,可根據伺服器硬體設定於壓力大小適當調整。

分析原因,是因為網站程式中使用了HttpWebRequest請求外部伺服器的頁面,而這個操作是相當耗時的(外部伺服器響應慢是主要原因)。當訪問者的請求到達ASP.NET背景工作處理序後,ASP.NET首先會檢查是否有空餘的背景工作執行緒(WorkerThread),如果有的話,就交給一個閒置背景工作執行緒去處理,如果沒有閒置背景工作執行緒,那麼這個請求就會被放到請求隊列(RequestQueue)中,這個時候的表現就是響應很慢。當訪問量過大導致請求隊列也滿了的時候,ASP.NET就會拋出Server Too Busy異常了。在.NET 1.1中,預設的背景工作執行緒和請求隊列分別為20和100,當啟動並執行代碼比較費時而訪問量又較大的時候,這兩個預設值顯然就太小了。(現在的伺服器硬體便宜了,一般PC伺服器的輸送量都應該遠超過這個數)。這兩個值可以根據伺服器壓力大小來進行合理配置。以調整網站輸送量。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.