我們有沒有從代碼任何明確的多線程香草ASP.NET應用程序(ASP.NET Web表單,實體框架,SQL Server 2005中)。它已部署在交錯的環境中(OS - Windows Server 2008 R2 64位,CPU - Intel Xeon E5507 @ 2.27 GHz,2.34 GHz,RAM - 7.5 GB)。該環境由Web,數據庫和報告服務器組成,每個服務器都是雲中的獨立實例(Amazon EC2)。當併發測試,觀測爲下:ASP.NET應用程序和CPU使用率
1用戶 - CPU使用率〜25%,反應時間2-4秒
2用戶 - CPU使用率40-50%,反應時間3-6秒
4用戶 - CPU使用率60-80%,反應時間4-8秒
8用戶 - CPU使用率80-100%,響應時間4-10秒
中號y的問題是:
CPU使用率是否相對於no。的併發用戶?響應時間可能在很大程度上有所不同,如上述觀察所示?
如從上面觀察,CPU將刷爆當併發用戶數是10〜。在響應時間急劇增加的情況下,CPU是否應該無縫處理更多的併發用戶?在理想情況下,如果是基本的ASP.NET應用程序,CPU可以處理多少個併發用戶?
如果是在上面的問題,什麼可以在這裏是問題的高CPU /響應時間長?我們應該如何進行有效的調試以找出代碼/ IIS設置中的瓶頸?
PS:其已經被改變的IIS設置(即在machine.config中):
maxWorkerThreads = 100
MinWorkerThreads = 50
maxIOThreads = 100
minIOThreads = 50
minFreeThreads = 176
maxConnections = 100