Один большой xslt над меньшими, более гранулированными - PullRequest
2 голосов
/ 10 декабря 2008

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

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

Обновление:

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

Ответы [ 5 ]

4 голосов
/ 10 декабря 2008

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

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

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

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

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

1 голос
/ 10 декабря 2008

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

1 голос
/ 10 декабря 2008

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

0 голосов
/ 11 января 2009

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

0 голосов
/ 10 декабря 2008

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

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

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

...