【问题标题】:How to monitor Hibernate statistics (cache hits and misses) in a grails app?如何在 grails 应用程序中监控 Hibernate 统计信息(缓存命中和未命中)?
【发布时间】:2011-06-21 16:07:32
【问题描述】:
默认情况下,Grails 使用带有 EHCache 的 Hibernate 作为二级缓存。我仍在学习 Hibernate 如何在内部工作,并且希望能够在应用程序运行和执行我的查询时自省缓存(EHCache 和 Hibernate 在“级别 1”所做的任何事情)。是否有任何 Grails 插件或类似的插件可以促进这一点?
【问题讨论】:
标签:
hibernate
caching
grails
statistics
ehcache
【解决方案1】:
grails-melody 插件或 app-info 插件都可以让您查看 2 级 EHCache 中的内容,以及有关您的应用内部的许多其他有趣的细节。
hibernate 一级缓存更短暂,据我所知,没有任何方法可以检查它。
【解决方案2】:
您可以将“net.sf.ehcache.hibernate”的日志记录级别设置为“config.groovy”中的信息或调试。这应该可以为您提供大量信息。
【解决方案3】:
安装 JXM 插件 (http://www.grails.org/plugin/jmx) 会将 Hibernate 统计信息公开为 JMX。
此外,您可能需要在DataSource.groovy 中启用统计信息收集:
hibernate {
generate_statistics = true
...
}
安装插件后,您可以使用例如jconsole 连接到您的进程并浏览统计信息。