Domanda

Usando i modelli di vetro Mapper con SiteCore 7.1 (rendering MVC), abbiamo recentemente dispietato questo progetto per vivere l'ambiente, ma il nostro cliente ha notato che le prestazioni degradanti nel tempo, ad esempio, dopo 8 ~ 12 ore, alcune pagine inizianoprendere 20 secondi per caricare. Dopo aver contattato il supporto SiteCore e l'invio di dump della CPU / Memory, il team di supporto ha risposto:

" A causa di un Mapper di vetro spesso risoluzione dei percorsi dell'oggetto SitiCore deve aggiornare i record nella cache di ItemPaths (dove ogni aggiornamento" blocca "la cache). Poiché questo sembra accadere spesso l'applicazione incontrerebbe la situazione quando alcuni filiAspetterà un singolo thread per terminare l'aggiornamento della cache degli articoli articoli . "

Quindi, hai già riscontrato un problema?C'è qualcosa che ho bisogno di fare con i nostri modelli di vetro per prevenirlo?

"GLASS.Mapper" versione="3.0.11.23"

"glass.mapper.sc" versione="3.1.10.31"

Grazie

È stato utile?

Soluzione

Il problema era nella nostra classe base che contiene proprietà "full path":

public virtual string FullPath { get; set; }
.

Ciò significa che ogni volta che viene caricato da un vetro, colpisce la cache del percorso, che stava causando la lentezza.

Ho aggiornato la proprietà per essere più simile alla proprietà 'lazy loaded':

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

Questo ha fissato il problema.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top