Стеклянные модели и SiteCore Itemcache
-
21-12-2019 - |
Вопрос
Мы используем модели 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
}
}
.
Это исправлено проблему.