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

标签 asp.net performance w3wp load-time

我当前正在处理的 ASP.NET Web 应用程序项目随着时间的推移重新加载速度越来越慢(在 IIS 或 .NET 开发服务器中)。目前需要:

  • 通过 F5 调试加载需要 1 分 28 分钟
  • 构建后(而非重建)在浏览器中刷新需要 41 秒

机器速度相当快 - Core 2 Quad 2.40ghz、8 GB RAM,在 HyperV 下运行开发机器,并为开发虚拟机分配了 2 GB RAM。

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

我知道我可以在代码上使用分析器 - 它没有出现任何超慢的数据库连接建立时间,但我想在处理实际页面之前对这些东西的性能有一些了解。我可以看到 CPU 监视器在进程中间的一段时间内达到 100%,RAM 使用率略有上升 - 但我正在寻找更好的洞察力,希望能稍微调整一下。

虽然我在项目开始时(4 个月前)没有进行任何测量,但我完全确定重新加载相对轻而易举。

非常感谢任何帮助, 程序员在构建发生时只能喝这么多咖啡。

更新:

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

其他选项不会选择此选项,因为:

  • Trace选项仅从 PreInit,缺少 Application_Start() 调用。

  • StopWatch 调用将有 要求我知道去哪里寻找,或者 回到过去的美好时光 printf 风格的调试...

  • nprof 想要定位一个 .exe,该文件 尝试附加到新的 w3wp.exe 实例时会错过目标区域...

最佳答案

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

这可能有用:

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

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

关于asp.net - ASP.NET 应用程序加载时间缓慢 - 我可以跟踪/追踪/计时整个加载周期吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1692143/

相关文章:

c# - 有什么方法可以判断值来自哪个属性?

c# - 在 asp :panel in jquery 中找到控件

multithreading - 协程如何比线程更快?

c# - 诊断 asp.net 网站/应用程序池的性能

c# - File.AppendAllText 之后文件仍然打开

c# - Entity Framework ..自引用表..获取深度=x的记录?

asp.net - 如何实现 "Related questions"功能(如 Stack Overflow 上的功能)?

c# - 在同一代码块中多次访问列表 - 有更好的方法吗?

wcf - w3wp.exe是什么?