在Azure上分析ASP.NET MVC3应用程序的预热

时间:2011-10-29 13:14:19

标签: asp.net performance azure profiling azure-web-roles

在开发我的应用程序的整个过程中,第一响应时间变得越来越糟,现在需要10分钟才能加载!我正在使用Web-Deploy加速发布我的更改,从我在MSDN上阅读的内容来看,我知道这种延迟是由编译和加载程序集引起的。

这是一个使用EF CodeFirst,MVC-MiniProfiler等的ASP.NET MVC3应用程序。我想知道这些程序集中的一个是否会减慢速度。

有没有办法追踪困扰我的开发/测试过程的长时间运行过程?

作为旁注,Azure模拟器中的问题远没有那么糟糕。

2 个答案:

答案 0 :(得分:2)

使用Windows Azure SDK 1.4及更高版本,您可以选择为您的应用程序启用性能分析(在IntelliTrace旁边)。您可以从我的博客文章here中了解一些可用的选项(在1.5中),您还可以在其中找到一个很好的屏幕截图,显示启用IntelliTrace或Profiling的选项。 诀窍是你只能运行其中一个(ItelliTrace或Profiling)。因此,我建议您首先运行ItelliTrace并检查ItelliTrace日志,以了解应用程序执行期间的任何异常。然后使用Profiling进行另一次部署以捕获哪些是最耗时的方法。 请注意,启用IntelliTrace / Profiling只能在部署过程中完成,并且无法使用简单的WebDeploy进行更改,因此您必须至少进行两次部署才能进行测试。

答案 1 :(得分:0)

很难说减速是什么 - 正如Awais所说,IntelliTrace是你的朋友。然而,延迟可能是不可避免的(我已经多次看到过这种情况)。如果是这种情况,您可以添加一个“启动”IIS的启动脚本,以防止第一个用户访问该站点时出现问题。