我们已经开始使用MiniProfiler,它有时会显示,特别是当我们在Visual Studio中运行时按F5时,在执行任何代码之前,对操作的前3 - 5次调用非常慢,如下图所示,它似乎总是大约5,这些是返回图像的动作,但是当MiniProfiler显示所有时间在我们的任何代码甚至执行之前发生时,如果我注释掉了2050ms的图像然后另一个花了0.5ms只需要这么久。我们在web.config中设置了debug = false,这没有任何区别。
我们正在使用ProfilingActionFilter和ProfilingViewEngine,但还有另一种方法可以分析这里发生的事情并尝试解决问题吗?
编辑: 我们也在使用AutoFac,这是可能的原因,我正试图找到一种分析所有内容的方法,以便我可以确切地看到这种情况发生在哪里。
编辑: OK所以我添加了自己的ControllerFactory,其中包含配置文件和路由约束,因为下面的新图像显示在Application_BeginRequest之前甚至创建路由约束或控制器之前所有时间。对于花费这么多时间的事情,我完全不知所措。看看MVC管道的这个链接可以留下什么?
http://blog.stevensanderson.com/blogfiles/2007/ASPNET-MVC-Pipeline/ASP.NET%20MVC%20Pipeline.pdf
答案 0 :(得分:-1)
最近我和miniprofiler有类似的问题,我在跟踪的开头看到了这个大号,就像你的一样,不知道发生了什么。最近尝试了http://prefix.io,它对实际造成大量数字的内容进行了更深入的分析 - 在我们的例子中,它过多地触及缓存以多次检索同一个对象。
知道我们能够大量减少页面加载时间。您的案例可能不同或类似,只有更深入的分析会告诉您。它还显示了在不同的HttpModules和Handler中花费的时间。