Один большой xslt поверх более мелких

У нас есть один большой xslt, который отображает всю область магазина, включая продукты, манифестаторы и фильтруя их по цене и категрии. Я использую sitecore в качестве CMS и у меня проблемы с кэшированием. У меня есть около 9000 элементов, а некоторым страницам требуется до 20 секунд. Будет ли лучше разделить xslt на более мелкие части? Это улучшает скорость?

Я думаю, что использование движка xslt sitecore называется Nexus.

Обновить:

Я думаю, что мы должны оптимизировать xslt. Несмотря на то, что было около 9 тыс. Элементов, профилировщик sitecore показал, что мы фактически перебираем около 250 тыс. Элементов при различных проверках.

10.12.2008 11:37:59
5 ОТВЕТОВ
РЕШЕНИЕ

Вы, вероятно, получите лучшую производительность, применяя другие изменения, чем разделение файла XSLT. Не видя XSLT, трудно обнаружить узкие места, но вы найдете здесь несколько рекомендаций по производительности XSLT:

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

Кроме того, в этом случае может быть очень полезно использовать профилировщик XSLT.

Некоторые приемы производительности также зависят от используемого вами движка, поэтому некоторая дополнительная информация может быть полезна и здесь.

Если бы вы могли опубликовать свой XSLT-код, я мог бы помочь вам найти возможные узкие места.

4
10.12.2008 11:46:31

Похоже, проблема в том, что sitecore не XSLT (я сделал более быстрые преобразования для 10-ти строк K), но я бы посоветовал разделить, как правило, для повторного использования кода.

1
10.12.2008 11:44:23

Здесь есть две разные проблемы:

  • Разделение файлов XSLT для лучшей читабельности, удобства обслуживания и повторного использования кода
  • Повышение производительности ваших переводов XSLT

Первое должно быть сделано как лучшая практика, последнее должно позаботиться о увеличенном времени рендеринга, которое вы получаете

0
10.12.2008 11:50:55

Разделение одного огромного рендеринга на более мелкие поможет, если вы используете кеширование Sitecore. Наличие нескольких визуализаций позволит применять индивидуальные настройки кэша для каждого.

1
10.12.2008 15:38:51

Определенно используйте как можно меньше XSLT, которые имеют смысл. Это просто хорошая практика и не может повредить производительности.

0
11.01.2009 19:33:50