如何在 grails 应用程序中监控 Hibernate 统计信息(缓存命中和未命中)?
Posted
技术标签:
【中文标题】如何在 grails 应用程序中监控 Hibernate 统计信息(缓存命中和未命中)?【英文标题】:How to monitor Hibernate statistics (cache hits and misses) in a grails app? 【发布时间】:2011-06-21 16:07:32 【问题描述】:默认情况下,Grails 使用带有 EHCache 的 Hibernate 作为二级缓存。我仍在学习 Hibernate 如何在内部工作,并且希望能够在应用程序运行和执行我的查询时自省缓存(EHCache 和 Hibernate 在“级别 1”所做的任何事情)。是否有任何 Grails 插件或类似的插件可以促进这一点?
【问题讨论】:
在本论坛回答类似问题 [***.com/a/71196032/1440101] 【参考方案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
连接到您的进程并浏览统计信息。
【讨论】:
以上是关于如何在 grails 应用程序中监控 Hibernate 统计信息(缓存命中和未命中)?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Grails 3 Gradle 项目中控制 H2 驱动程序版本?