我们正在将Apache Velocity用于网站模板,其中一些变得越来越复杂。您是否注意到某些Velocity功能存在任何性能问题?你是怎么绕过他们的?
答案 0 :(得分:12)
首先使用最新的速度库(1.7或1.6.4)。 版本1.5包含一些严重的性能问题!
此处还有您必须在生产环境中调整的参数列表:
答案 1 :(得分:7)
人们经常忽略的最重要的功能是资源加载器缓存(默认情况下是关闭),它可以提升性能(file.resource.loader.cache
)。
#parse
指令也有明显的性能影响,尝试仅使用它来避免代码重复,而不是仅仅将模板拆分为逻辑部分。
如果您的模板在逻辑方面变得非常复杂,那么可以将该逻辑转移到控制器并提供准备渲染数据结构的模板。
我没有注意到Velocity的任何性能下降,当我在从JSP切换之前测试Velocity速度时,他们在我投掷的任何模板上的速度总是快50%。目前,我们生成的网站包含数千个从Velocity模板渲染的页面,速度非常快,对性能非常满意。
答案 2 :(得分:2)
我们尝试在byte[]
节点中缓存ASTText
,以避免对输出文本进行太多次编码。