2013-05-30 21 views
9

我们已经开始使用MiniProfiler,它有时会显示,有时,特别是当我们在Visual Studio中运行时碰到F5时,第一个3-5动作的调用在任何动作之前都非常慢我们的代码执行如下图所示,它似乎总是大约5,这些是返回一个图像的动作,但正如MiniProfiler所显示的,我们的任何代码甚至在执行前都会出现,如果我注释掉图像正在采取2050ms,然后另一个采取0.5ms只需要这么长。我们已经在web.config中设置了debug = false,这没有什么区别。MiniProfiler显示Asp.Net Mvc慢速调用操作有时

我们正在使用ProfilingActionFilter和ProfilingViewEngine,但有没有另一种方式来分析这里发生的事情,并试图解决?

编辑: 我们也使用AutoFac,是否有可能这是原因,我试图找到一种分析一切的方式,以便我可以确切地看到发生这种情况。

编辑: 好所以我添加了我自己的ControllerFactory配置文件和路由约束,因为下面的新图像显示了在Application_BeginRequest之前创建路由约束或控制器之前的所有时间。对于花费那么多时间,我完全丧失了信心。看看MVC管道的这个链接可以留下什么?

http://blog.stevensanderson.com/blogfiles/2007/ASPNET-MVC-Pipeline/ASP.NET%20MVC%20Pipeline.pdf

enter image description here

enter image description here

+0

您是否尝试过在没有Visual Studio的情况下运行此应用程序?你有没有尝试过分析它? – Maciej

回答

-1

我最近也有类似的问题与miniprofiler在那里我像你们一样的跟踪开始看到这个大数目,不知道发生了什么事情。最近尝试http://prefix.io,它给出了实际上导致大量数据的更深入的分析 - 在我们的例子中,它过度击中缓存以多次检索相同的对象。

了解我们能够减少很多页面加载时间。你的情况可能会有所不同或类似,只有更深的分析才能告诉你。它还显示您在不同的HttpModules和Handlers中花费的时间。