Где и как проверить, что кэш гибернации действительно работает
Я новичок в области кэширования спящего режима.
- Каков самый простой способ проверить, действительно ли работает кеш?
- Включает ли hibernate gonate те же самые операторы sql, когда кеш включен?
- Должна ли быть какая-либо папка/файл в файловой системе с сохраненными данными (кеш второго уровня)?
- Как проверить, сколько кешей используется в настоящее время?
С уважением,
Marcin
Ответы
Ответ 1
-
Вы можете включить создание статистики гибернации, чтобы установить свойство hibernate.generate_statistics
на true
. Затем вы можете отслеживать счетчик хитов/пропусков кеша через SessionFactory.getStatistics()
.
Кроме того, когда включено ведение журнала SQL, вы можете анализировать поведение кэша по наличию или отсутствию определенных SQL-запросов.
-
Это зависит от многих факторов. См. 21.2. Второй уровень кэша и 21.4. Кэш запросов
-
Это зависит от поставщика кешей и его конфигурации. Например, EhCache можно настроить на переполнение на диск.
-
SessionFactory.getStatistics().getSecondLevelCacheStatistics()
предоставляет эту информацию.
Ответ 2
Я нашел отличный инструмент, который vizuliaze использует спящий режим (также кеш).
Кроме того, в этих статьях (здесь есть часть 1) есть довольно хорошее объяснение того, как работает спящий кэш (см. Также соответствующие ссылки).
Также есть хороший пример с этапами анализа.
В любом случае спасибо за ответы.