2008-12-10 57 views
2

我们有一个大的xslt可以渲染整个商店区域,包括产品,制造商,并根据价格和cateogry进行过滤。 我使用sitecore作为CMS,并遇到缓存问题。我有大约9000个项目,有些页面需要多达20个才能渲染。 将xslt分成更小的部分会更好吗?它会提高速度吗?一个大的xslt在更小的颗粒状的区域

我认为xslt引擎sitecore使用的称为Nexus。

更新:

我认为我们需要优化xslt。即使有大约9k项目,sitecore分析器显示我们实际上遍历了大约250k项目,同时进行各种检查。

回答

4

通过应用除分割XSLT文件之外的其他更改,您可能会获得更好的性能。在没有看到XSLT是很难发现的瓶颈,但你会发现这里的XSLT性能的一些最佳做法:

http://www.dpawson.co.uk/xsl/sect4/N9883.html#d15756e150

此外,它可能是非常有帮助在这种情况下要使用XSLT探查。

一些性能技巧还取决于您正在使用的引擎,因此一些其他信息也可能在此处有用。

如果您可以发布您的XSLT代码,我可能会帮助您找到可能的瓶颈。

1

听起来像问题是使用sitecore而不是XSLT(我已经对K行进行了10次更快的转换),但是我建议一般情况下分割以启用代码重用。

0

这里有两个不同的问题:

  • 分离XSLT文件更好的可读性,可维护性和代码重用
  • 你的XSLT转换使性能改进

首先应该做的一个最佳实践,后者应该照顾你正在获得的延长渲染时间

1

分离一个巨大的r如果使用Sitecore缓存,则可以使用较小的缓存。有多个渲染将允许将每个缓存设置应用于每个。

0

绝对可以用作有意义的小型XSLT。这只是良好的做法,不能伤害表现。