2011-11-03 998 views
25

Soy nuevo en el área caché de la hibernación.Dónde y cómo comprobar que la caché de hibernación realmente funciona

  1. ¿Cuál es la forma más fácil de comprobar que la caché realmente funciona?
  2. ¿hibernate gnerate las mismas sentencias SQL cuando la memoria caché está activada?
  3. habría de ser la carpeta/archivo en el sistema de archivos con los datos almacenados (caché de segundo nivel)?
  4. ¿Cómo comprobar cuánto caché se utiliza actualmente?

Saludos, Marcin

Respuesta

16
  1. Puede habilitar Hibernate statistics generation estar fijándose hibernate.generate_statistics propiedad a true. Luego puede monitorear el conteo de aciertos y fallas de caché a través del SessionFactory.getStatistics().

    Además, cuando se habilita el registro de SQL se puede analizar el comportamiento de la memoria caché por la presencia o ausencia de determinadas consultas SQL.

  2. Depende de muchos factores. Ver 21.2. The Second Level Cache y 21.4. The Query Cache

  3. Depende del proveedor de caché y su configuración. Por ejemplo, EhCache se puede configurar para desbordar al disco.

  4. SessionFactory.getStatistics().getSecondLevelCacheStatistics() proporciona esta información.

+2

+1. El proveedor de caché también suele proporcionar beans JMX a los que se les puede pedir sus propias estadísticas –

4

He encontrado nice tool que vizuliaze hibernate usage (also cache). Además, en estos articles (here is part one) hay una explicación bastante buena de cómo funciona la memoria caché de hibernación (ver también enlaces relacionados). También hay un buen ejemplo con los pasos de análisis.

De todos modos gracias por las respuestas.

Cuestiones relacionadas