Ich habe eine Java-Anwendung, die die Persistenzbibliothek Hibernate mit etwa 100 zugeordneten Klassen verwendet. Um Caching der zweiten Ebene zu testen, habe ich @Cacheable 5 der zugeordneten Klassen hinzugefügt. Dies führte dazu, dass eine Standardberechnungsaufgabe die doppelte Zeit benötigte, die sie früher benötigte, obwohl es mehrere Treffer für die zwischengespeicherten Elemente gab (wie in der Couchbase-Cacheüberwachungskonsole belegt). Ich kann nicht die genaue durchschnittliche Trefferquote aufgrund der vorübergehenden Natur der Couchbase-Statistiken erhalten, aber ich schätze es bei nur etwa 10-20%.Hibernate-Caching verursacht Leistungsabfall bei niedrigem Prozentsatz von @Cacheable-Entitäten?
Hat die Aktivierung des Caching für einige Entitäten Auswirkungen auf die Zugriffszeiten anderer Entitäten, die nicht als @Cacheable markiert sind, was zu diesem Leistungsabfall führt? Oder ist es nur durch die zusätzliche Latenz der Cache-Abfrage in Verbindung mit einer niedrigen Trefferquote auf die zwischengespeicherten Elemente verursacht?
Ich benutze Hibernate 3.3. Ich habe das Zwischenspeichern von Abfragen deaktiviert. Ich habe ähnliche Ergebnisse mit Memcached & GemFire als Cache-Provider.
Keine Antworten? Wenn jemand eine vage Ahnung hat oder zusätzliche Informationen benötigt werden, um diese Frage zu beantworten, lassen Sie es mich wissen. –