缓慢的ASP.NET应用程序加载时间 - 我可以跟踪/跟踪/计算整个加载周期吗?

Ove*_*lew 8 asp.net performance w3wp load-time

我正在处理的ASP.NET Web应用程序项目随着时间的推移而变得越来越慢(在IIS或.NET开发服务器中).目前需要:

  • 通过F5调试加载1:28分钟
  • 在构建之后在浏览器中刷新41秒(不重建)

该机器速度相当快 - 一台Core 2 Quad 2.40ghz,8 gig o'RAM,在HyperV下运行dev机器,分配给dev VM的2 gig o RAM.

有没有办法跟踪/报告初始负载的整个周期?如果我能看到基本的IIS工作进程启动需要多长时间,加载DLL,运行实际的.NET代码,那就太好了.

我知道我可以在代码上使用分析器 - 它没有发现任何超慢的DB连接建立时间,但我想在处理实际页面之前对这些东西的性能有一些了解.在整个过程中我可以看到CPU监视器有点达到100%,RAM使用量略有增加 - 但我正在寻找更好的洞察力,希望能有所改善.

虽然我没有在项目开始时(4个月前)进行任何测量,但我完全确定重装是一个相对轻而易举的事.

任何帮助都非常感激,程序员 - 他们只能喝 - 这么多咖啡,而建立 - 发生.

更新:

JetBrain的dotTrace非常出色(对于这个例子),谢谢.它具有启动Web项目的完美界面,并且很快突出显示大部分时间都在Application_Start()中(在Global.asax中).

其他选项不会选择这个,因为:

  • 跟踪选项只能从PreInit开始,缺少的Application_Start()调用.

  • 秒表电话会要求我知道去哪里找,或恢复到printf风格调试的美好时光...

  • nprof想要定位一个.exe,它会在尝试连接到新的w3wp.exe实例时错过目标区域...

Ash*_*ain 6

为什么不使用ASP.NET Trace功能.使用trace.axd分析请求.

这可能有用:

http://msdn.microsoft.com/en-us/library/ms972204.aspx

http://msdn.microsoft.com/en-us/library/wwh16c6c.aspx


Chu*_*way 5

JetBrains 这样的探测器dotTrace应该告诉你你的瓶颈在哪里......如果你没有看到任何不寻常的东西(即方法上的漫长过程时间),那么它不是你的应用程序.一定是环境.可能是因为您正在使用Active Directory并且对Active Directory的调用正在挂起...是否有Web服务调用?您使用的是Team Systems吗?是否有后期制作流程?

对我而言,听起来有些事情已经过时了.这就是你等待这么久的原因.