2011-11-03 11 views
25

Jestem nowa w obszarze pamięci podręcznej hibernacji.Gdzie i jak sprawdzić, czy pamięć podręczna hibernacji naprawdę działa

  1. Jaki jest najłatwiejszy sposób sprawdzenia, czy pamięć podręczna naprawdę działa?
  2. Czy funkcja hibernacji eliminuje takie same instrukcje SQL, gdy pamięć podręczna jest włączona?
  3. Czy powinien to być dowolny folder/plik w systemie plików z przechowywanymi danymi (pamięć podręczna drugiego poziomu)?
  4. Jak sprawdzić, ile pamięci podręcznej jest obecnie używane?

Pozdrawiam, Marcin

Odpowiedz

16
  1. można włączyć Hibernate statistics generation być ustawienie hibernate.generate_statistics właściwość true. Następnie możesz monitorować liczbę trafień/pominięć w pamięci podręcznej przez SessionFactory.getStatistics().

    Ponadto, gdy włączone jest logowanie SQL, można analizować zachowanie pamięci podręcznej poprzez obecność lub nieobecność określonych zapytań SQL.

  2. To zależy od wielu czynników. Patrz: 21.2. The Second Level Cache i 21.4. The Query Cache

  3. To zależy od dostawcy pamięci podręcznej i jego konfiguracji. Na przykład EhCache można skonfigurować tak, aby przepełniał na dysku.

  4. SessionFactory.getStatistics().getSecondLevelCacheStatistics() udostępnia tę informację.

+2

+1. Dostawca pamięci podręcznej często dostarcza także komponenty JMX, które można prosić o własne statystyki –

4

Znalazłem nice tool, że vizuliaze wykorzystanie hibernacji (również cache). Dodatkowo w tych articles (here is part one) znajduje się całkiem dobre wyjaśnienie, jak działa pamięć podręczna hibernacji (zobacz także powiązane łącza). Istnieje również ładny przykład z krokami analizy.

Dzięki za odpowiedzi.

Powiązane problemy