2012-10-15 29 views
2

我有ASP.NET MVC應用程序,它接受文件上傳並使用SignalR進行結果彙集。該應用程序託管在帶有IIS7,4 Gb Ram和兩個內核CPU的Prod服務器上。ASP.NET MVC迷失在尋找botleneck

Dev服務器上的應用程序工作正常,但是當我在Prod服務器上託管約50 000 users per day時,該應用程序在運行五分鐘後變爲不負責任。網頁請求時間顯着增加,加載一個頁面大約需要30秒。我試圖記錄所有MvcApplication.Application_BeginRequest事件調用,並在5 minutes中獲得9000命中。不確定這是可接受的點擊次數或不是這樣的應用程序。

我已經使用ANTS性能分析器(在Prod應用程序分析中沒有用,速度慢並且可以消耗所有內存)來剖析代碼,但Profiler在我的代碼/ MSSQL查詢中不顯示任何時間延遲問題。

另外我試圖監視CPU和RAM秒殺問題,但我沒有找到任何。 CPU百分比有時會達到15%,但從不升高,內存使用情況正常。

我懷疑ASP.NET/IIS7中的請求或線程限制有問題,但不知道如何分析它。

有人可以建議任何分析解決方案,可以幫助在這種情況下?試圖尋找兩個星期的問題已經沒有任何結果:(

+0

聽起來好像你正在燃燒一些資源,不得不等待它們釋放,我會檢查我的代碼以確保所有數據庫連接在使用後關閉,所有的服務客戶端都被丟棄,並且任何內存飢餓的對象一旦完成就被丟棄。 – Slicksim

回答

2

你可以嘗試使用MiniProfiler和更具體地MiniProfiler.MVC3 NuGet包,它是專門爲ASP.NET MVC應用程序創建的,它會告訴你所有有用的如執行請求時花費的時間等信息