ガラスモデルとSitecore ItemCacheの問題
-
21-12-2019 - |
質問
SiteCore 7.1(MVCレンダリング)でガラスマッパーモデルを使用している、最近このプロジェクトを生きている環境に展開しましたが、私たちのクライアントは時間の経過とともにパフォーマンスが低下していることに気づいた、例えば8~12時間後に始まります。負荷に20秒かかります。 SitecoreサポートとCPU /メモリダンプを送信した後、サポートチームは回答しました。
"" Itempathsキャッシュのレコードを更新する必要がある(すべての更新プログラムがキャッシュをロックする)。これが起こるように思われるように、アプリケーションは数スレッドのときに状況に遭遇するように思われるので単一のスレッドがアイテムパスキャッシュの更新を終了するのを待っています。 "
だから、あなたは以前にそのような問題に遭遇しましたか?これを防ぐためにガラスモデルで何をする必要があるものはありますか?
「Glass.Mapper」version="3.0.11.23"
「Glass.Mapper.sc」version="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
}
}
.
これは問題を修正しました。
所属していません StackOverflow