使用Umbraco 7.2在MVC4中使用布局(MasterPage)具有显着的性能影响。为什么呢?

时间:2015-12-07 11:14:15

标签: performance asp.net-mvc-4 layout umbraco

在我们的项目中,我们使用MVC4 + Umbraco7.2.8。在其中一个页面上,我们同时对服务器进行大约25次调用,每次调用都是完全成熟的http到控制器的操作,它返回cshtml视图。然后解析结果并显示在单个页面上。 (我们知道这是错误的设计,我们将用web api调用替换它来获得轻量级json)。

所以问题在于上述过程非常耗时(难怪,嗯?)需要大约19-20秒才能检索并显示所有25个呼叫的结果。在不改变现有设计的情况下寻求提高性能的方法我注意到所有返回的视图都有一个Layout页面(Master Page),然后我将Layout页面中的所有代码放入视图并设置Layout = null(不更改任何设置)功能)我获得了显着的性能提升。现在大约需要2-3秒才能完成所有25次通话。

我放置了跟踪,我可以看到(当使用Layouts运行时)视图中的最后一条跟踪与其布局页面中的第一条跟踪之间的间隙大约为800毫秒(并非总是如此),因此在删除布局时我们摆脱了这些减速。但那是为什么呢?我阅读了很多信息和论坛,每个人都说使用Layouts应该只有非常轻微的性能影响,因为它没有比调用函数更多的开销。但我的事实恰恰相反:只是摆脱母版页,我们受益于巨大的性能提升。我尝试了很多次,结果总是一样的。

任何人都可以解释为什么拥有/删除布局会影响性能以及MVC引擎(或Umbraco ???)在使用布局拼接视图时能做多长时间?

0 个答案:

没有答案
相关问题