10

我们已经开始使用 MiniProfiler,它显示有时,特别是当我们在 Visual Studio 中运行时按下 F5 时,在我们的任何代码执行之前,前 3-5 次对操作的调用非常慢,如下图所示,似乎总是大约为 5,这些是返回图像的操作,但由于 MiniProfiler 一直显示在我们的任何代码执行之前一直在发生,如果我注释掉需要 2050 毫秒的图像,那么另一个需要 0.5 毫秒的图像只需执行此操作长。我们在 web.config 中设置了 debug=false,这没有任何区别。

我们同时使用 ProfilingActionFilter 和 ProfilingViewEngine 但是否有另一种方法来分析这里发生的事情并试图解决?

编辑:我们也在使用 AutoFac,这可能是原因吗,我正在尝试找到一种分析所有内容的方法,以便我可以准确地看到发生这种情况的位置。

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

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

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

-1

我最近在使用 miniprofiler 时遇到了类似的问题,我在跟踪的开头看到了这个大数字,就像你的一样,但不知道发生了什么。最近尝试了http://prefix.io,它对实际导致如此大数字的原因进行了更深入的分析——在我们的例子中,它过度地访问缓存以多次检索相同的对象。

知道我们能够大大减少页面加载时间。您的情况可能不同或相似,只有更深入的分析会告诉您。它还显示了您在不同的 HttpModules 和 Handlers 上花费的时间。

于 2016-06-02T05:54:32.270 回答