Hibernate: кеш запросов никогда не использовался - PullRequest
3 голосов
/ 24 августа 2010

Во время выполнения некоторой настройки производительности в моем приложении я заметил, что кэш запросов Hibernate никогда не используется.

Я совершенно уверен, что все правильно настроено:

  • hibernate.cache.provider_class = org.hibernate.cache.EhCacheProvider
  • hibernate.cache.use_query_cache = истина
  • Я использую setCacheable(true) для запросов, которые я хочу кэшировать

Я настроил простой стресс-тест, когда многократно выполняю один и тот же набор операций несколькими потоками. Когда я проверяю статистику гибернации, оказывается, что hitCount кеша запросов равен нулю!

Чего мне не хватает?

EDIT:
Для всех вас спрашивающих: я установил hibernate.generate_statistics = true

Ответы [ 3 ]

2 голосов
/ 24 августа 2010

Я настроил простой стресс-тест, когда многократно выполняю один и тот же набор операций несколькими потоками.Когда я проверяю статистику спящего режима, оказывается, что HitCount кеша запросов равен нулю!

Ну, в то время как можно получить статистику о попаданиях в кеш из статистики (, если , вы включаете статистикуустановка свойства hibernate.generate_statistics=true в вашей конфигурации), это IMO не лучший способ диагностировать "проблемы" кэширования.

Я бы предложил активировать ведение журнала 1. выполняемых операторов DML и 2. активности кэша.Соответствующие категории журналирования:

  • org.hibernate.SQL Регистрация всех операторов SQL DML по мере их выполнения
  • org.hibernate.cache Регистрация всех операций кэширования второго уровня

Это IMO более полезно, чем статистика для тонкой настройки поведения во время разработки.

Ссылки

1 голос
/ 25 августа 2010

Хотя вы не упоминаете об этом, вы также установили hibernate.cache.use_second_level_cache=true|false?

0 голосов
/ 24 августа 2010

Hibernate не собирает статистику по умолчанию. Вы включили статистику?

  • hibernate.generate_statistics = true
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...