2008-12-10 54 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。這只是良好的做法,不能傷害表現。