Вопрос

Мы используем модели Mapper Mapper с Sitecore 7.1 (MVC Rindings), мы недавно мы развернули этот проект для проживания среды, но наш клиент заметил, что производительность ухудшается со временем, например, через 8 ~ 12 часов, некоторые страницы начинаютзанять 20 секунд, чтобы загрузить. После контакта Sitecore Support и отправка Dumps CPU / памяти команда поддержки ответила:

" из-за стеклянного Mapper Часто разрешение путей элементов Sitecore необходимо обновить записи в Cache itempPaths (где каждое обновление« блокирует »кэш). Как это, кажется, часто случается, приложение столкнулось с ситуацией, когда несколько потоковБудут ждать одного потока для завершения обновления Cache ToothPaths . "

Так, вы столкнулись с такой проблемой раньше?Есть ли что-нибудь, что мне нужно сделать с нашими стекольными моделями, чтобы предотвратить это?

"Glass.mapper" версия="3.0.11.23"

"Glass.mapper.sc" версия="3.1.10.31"

Спасибо

Это было полезно?

Решение

Выпуск был в нашем базовом классе, который содержит свойство «Полный путь»:

public virtual string FullPath { get; set; }
.

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

Я обновил свойство, чтобы быть больше похоже на «ленивый загруженный» свойство:

[Glass.Mapper.Sc.Configuration.Attributes.SitecoreIgnore()]
public string FullPath {
   get
   {
      return FullPath();\\This method retrieve FullPath from item.Paths.FullPath
   }
}
.

Это исправлено проблему.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top