2

製品、メーカーを含む店舗エリア全体をレンダリングし、その上で価格とカテゴリに基づいてフィルタリングを行う 1 つの大きな xslt があります。CMS として sitecore を使用していますが、キャッシュに問題があります。約 9000 個のアイテムがあり、一部のページはレンダリングに 20 秒もかかります。xslt をより小さな部分に分割したほうがよいでしょうか? 速度は向上しますか?

Sitecore が使用する xslt エンジンは Nexus と呼ばれていると思います。

アップデート:

xslt を最適化する必要があると思います。サイトコア プロファイラーが約 9,000 個のアイテムを示したにもかかわらず、さまざまなチェックを行っているときに、実際には約 250,000 個のアイテムをトラバースしています。

4

5 に答える 5

4

XSLT ファイルを分割する以外の変更を適用すると、パフォーマンスが向上する可能性があります。XSLT を見ないとボトルネックを特定するのは困難ですが、XSLT パフォーマンスのベスト プラクティスを以下に示します。

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

さらに、その場合、XSLT プロファイラーを使用すると非常に役立つ場合があります。

一部のパフォーマンス トリックは、使用しているエンジンにも依存するため、ここでもいくつかの追加情報が役立つ場合があります。

XSLT コードを投稿していただければ、ボトルネックの可能性を見つけるのに役立つかもしれません。

于 2008-12-10T11:46:31.713 に答える
1

Sitecore キャッシングを使用する場合は、1 つの大きなレンダリングを小さなレンダリングに分割すると役立ちます。複数のレンダリングを使用すると、それぞれに個別のキャッシュ設定を適用できます。

于 2008-12-10T15:38:51.523 に答える
1

問題は XSLT ではなくサイトコアにあるように思えます (数十の K 行に対してより高速な変換を実行しました) が、コードを再利用できるように一般的に分割することをお勧めします。

于 2008-12-10T11:44:23.977 に答える
0

理にかなっている XSLT をできるだけ小さく使用してください。それは良い習慣であり、パフォーマンスを損なうことはありません。

于 2009-01-11T19:33:50.343 に答える
0

ここには 2 つの異なる問題があります。

  • 読みやすさ、保守性、およびコードの再利用性を向上させるために、XSLT ファイルを分離する
  • XSLT 翻訳のパフォーマンスを改善する

前者はベスト プラクティスとして実行する必要があり、後者はレンダリング時間の延長に対処する必要があります。

于 2008-12-10T11:50:55.603 に答える