Grails视图框架中的性能问题
我运行了一些测试来跟踪grails应用程序的响应时间 我以这种方式使用grails的布局视图框架: 在控制器中,我确定要使用的视图和布局 然后我使用如下代码呈现genericView: 因此,这个通用视图发挥了所有的魔力 我创建了一个性能过滤器,用于跟踪afterController和beforeController(控制器时间)之间以及beforeController和renderView(查看时间)之间所用的时间 在一个布局中,我有许多Grails视图框架中的性能问题,grails,view,layout,Grails,View,Layout,我运行了一些测试来跟踪grails应用程序的响应时间 我以这种方式使用grails的布局视图框架: 在控制器中,我确定要使用的视图和布局 然后我使用如下代码呈现genericView: 因此,这个通用视图发挥了所有的魔力 我创建了一个性能过滤器,用于跟踪afterController和beforeController(控制器时间)之间以及beforeController和renderView(查看时间)之间所用的时间 在一个布局中,我有许多标记,在视图中,我在中有相同的编号,其中嵌套了 这非
标记,在视图中,我在
中有相同的编号,其中嵌套了
这非常有效,它使我能够重用布局(作为html部件的配置)和视图(配置和真实内容之间的映射)
当我在视图时间中取平均值时,执行所有包含操作大约需要35毫秒
我认为这是很多
您是否知道grails框架的其他有用替代方案,以便在渲染视图时包含和隐藏视图
或者我必须以更好的方式使用这个框架
编辑:我只是注意到时间花在了
上
我在一个视图中包含4个控制器。
包含的控制器和操作只有一个呈现“某物”
时间是这样的:
主控制器:
控制器时间:3.98
观看时间:43.87
其他控制器(包括在主视图中):
总数:15.55
因此,运行4 include视图需要28.32毫秒
任何指针都会有帮助
提前感谢。Groovy和Grails肯定存在一些性能问题,但一般来说,它们可以忽略不计,因为数据库和网络延迟通常占请求时间的大部分。所以当我看到这个问题,并期待着可怕的数字时,我很好奇。35毫秒非常快。我认为您还有更重要的事情要担心。在我有限的grails开发中,您的性能似乎是标准的,没有任何异常。我认为这是一种过早优化的情况。您有什么硬性能目标,您是否正在编写一个需要响应时间在某个值范围内的应用程序?您是否比较过任何其他模型-视图-控制器框架和开发工具,如查看它们的性能比较情况以及它们在那里花费的时间?如果没有关于应用程序的更多信息,很难说瓶颈在哪里,但我认为您遇到的任何性能问题都更有可能发生在REST服务或数据库访问中。这些可能是您首先要关注的领域。尽可能使用Hibernate cash或兑现REST调用的结果可能会有所帮助。35毫秒非常快,但此测试非常简单。我也有20到30个包裹。其中一些控制器使用不同的REST服务。所以我必须尽我所能减少所有的时间。29毫秒来组装已经呈现的视图,或者准备控制器动作的电子执行,在我看来,这是一个奇怪的时间花费。应用程序现在已经非常先进了。这不是过早的优化。出于同样的原因,我现在无法更改MVC框架。我能做的是(如果不是很大的努力)改变我在视图中包含控制器的方式。其他区域(REST)是通过缓存方法实现的。或者,最好使用探查器。由于你的应用程序处于高级阶段,你需要确切地知道原因。是的,4个空控制器的28毫秒太多了。