我們有一個非常大的三層.NET 4.0 Web應用程序(ASP.NET,WCF,SQL Server 2008 R2),它具有一些性能問題,我嘗試進行診斷。 ASP.NET層使用SQL會話狀態提供程序,並且有相當廣泛的會話狀態使用。測量ASP.NET SQL會話狀態提供程序的性能
<sessionState mode="SQLServer" sqlConnectionString="..." cookieless="false" timeout="20"/>
我想弄清楚需要多少時間來加載和保存會話到數據庫。請注意,這與使用SQL事件探查器或其他數據庫方法來測量該層上的時間不同;我想測量從ASP.NET層花費的總時間。 I.e.這將包括會話對象序列化/反序列化,連線時間和SQL保存/加載時間。
我是非常有經驗的開發人員(自80年代初以來),我現在谷歌搜索小時 - 有大量文章對比了會話狀態方法和一般性能概念等,但我什麼都沒有找到如何實際測量SQL會話狀態提供程序的總時間。我最初想到使用HttpModule掛鉤事件並使用秒錶,但似乎並沒有一條幹淨的路徑。 (我會解決的方法是合理精確到百分之幾...)
任何想法/建議非常感謝,謝謝。
你有沒有嘗試添加使用'Trace',然後就打開跟蹤一些診斷代碼?這樣你可以非常徹底地診斷選定的頁面。 – 2013-03-22 14:23:27
你會在哪裏添加Trace語句? – 2013-03-22 14:55:38
在您的代碼中儘可能多地分析確切的時間點, – 2013-03-22 15:06:33