我们有一个非常大的三层.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