Stiamo considerando l'utilizzo di ehcache (1.6.0-beta5) per abilitare il caching di secondo livello di un certo numero di tabelle che non vengono mai modificate. Abbiamo creato una regione ehcache di sola lettura per questa tabella e attualmente sembra funzionare correttamente. I POJO di Hibnerate memorizzati nella cache sono tutti immutabili.Prestazioni di ibernazione Caching di secondo livello ehcache
Uno degli sviluppatori ha sollevato un problema relativo alla riduzione significativa delle prestazioni nel tempo necessario per "idratare" gli oggetti dall'ehcache, ovvero la mappatura dalla rappresentazione interna di un'entità di ehcache a un oggetto java effettivo. Invece ha suggerito di archiviare gli oggetti manualmente in una cache della nostra. Ciò richiederebbe una modifica significativa del nostro codice e ho delle riserve su quanto sarebbe grande il miglioramento.
Le mie domande sono:
- È questo calo di prestazioni davvero significativo?
- Se le entità sono immutabili in una cache di sola lettura, sarebbe EHCache effettivamente bisogno di fare qualsiasi idratazione a tutti? Non è possibile che lo memorizzi direttamente gli oggetti?
Grazie per qualsiasi aiuto.
Sì, questo è sicuramente il prossimo passo per noi. Stavo vedendo se altri hanno avuto precedenti esperienze di problemi di prestazioni a causa dell'idratazione prima. –
Qual è stato il risultato del tuo profilo? L'idratazione ha avuto un impatto significativo sulle prestazioni nel tuo caso? – Jardo