我们有一个大的xslt,它可以呈现整个商店区域,包括产品,显示器,并根据价格和类别进行过滤。 我使用sitecore作为CMS,我遇到缓存问题。我有大约9000个项目,有些页面需要多达20秒才能呈现。 将xslt拆分成更小的部分会更好吗?它会提高速度吗?
我认为xslt引擎sitecore使用的名为Nexus。
更新
我认为我们需要优化xslt。即使有大约9k项目,sitecore分析器显示我们实际上在进行各种检查时穿越了大约25万件物品。
答案 0 :(得分:4)
通过应用除拆分XSLT文件之外的其他更改,您可能会获得更好的性能。如果没有看到XSLT,很难发现瓶颈,但您会在这里找到一些XSLT性能的最佳实践:
http://www.dpawson.co.uk/xsl/sect4/N9883.html#d15756e150
此外,在这种情况下使用XSLT分析器可能非常有用。
某些性能技巧也取决于您使用的引擎,因此一些其他信息也可能在此处有用。
如果您可以发布您的XSLT代码,我可能会帮助您找到可能的瓶颈。
答案 1 :(得分:1)
听起来问题是sitecore而不是XSLT(我已经对10行的K行进行了更快的转换),但我建议一般拆分以启用代码重用。
答案 2 :(得分:1)
如果使用Sitecore缓存,将一个巨大的渲染分成较小的渲染将有所帮助。具有多个渲染将允许将单独的缓存设置应用于每个。
答案 3 :(得分:0)
这里有两个不同的问题:
第一个应该作为最佳实践来完成,后者应该处理你获得的延长渲染时间
答案 4 :(得分:0)
绝对使用有意义的小型XSLT。这只是一种很好的做法,不会影响性能。