Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance 在生产环境中通过JMX实现Hibernate和Ehcache统计_Performance_Hibernate_Caching_Jmx_Ehcache - Fatal编程技术网

Performance 在生产环境中通过JMX实现Hibernate和Ehcache统计

Performance 在生产环境中通过JMX实现Hibernate和Ehcache统计,performance,hibernate,caching,jmx,ehcache,Performance,Hibernate,Caching,Jmx,Ehcache,我的问题更多的是关于观点和经验,而不是技术解决方案 关于在生产环境中通过JMX控制台启用Hibernate统计和Ehcache统计,您认为如何?这似乎是个好主意还是个糟糕的主意?为什么 关于在我看来,这里有两个突出的问题: 这些统计数据有用吗?在JMX中发布时,您能以有用的方式访问它们吗 启用统计信息是否会影响系统的整体性能 我们假设#1是真的(否则我们为什么会在这里?:) 就#2而言,您实际上必须在有统计数据和无统计数据的情况下在负载下测试应用程序,但根据我的经验,这两个statstics组件

我的问题更多的是关于观点和经验,而不是技术解决方案

关于在生产环境中通过JMX控制台启用Hibernate统计和Ehcache统计,您认为如何?这似乎是个好主意还是个糟糕的主意?为什么


关于

在我看来,这里有两个突出的问题:

  • 这些统计数据有用吗?在JMX中发布时,您能以有用的方式访问它们吗
  • 启用统计信息是否会影响系统的整体性能
  • 我们假设#1是真的(否则我们为什么会在这里?:)

    就#2而言,您实际上必须在有统计数据和无统计数据的情况下在负载下测试应用程序,但根据我的经验,这两个statstics组件对性能的影响可以忽略不计。此外,定期收集和分析这些统计数据可能会带来改进,因为它将/可能帮助您发现瓶颈或系统中可能不使用缓存的部分

    我想您可能会争辩说,有更好的方法可以挖掘这些信息,比如让后台线程定期将统计数据写入日志文件,这适用于更简单的指标,如“缓存中的元素可能有多大”,但如果核心引擎没有启用统计数据(如Hibernate的大多数指标),许多统计数据将不可用。另外,JMX已经走了很长一段路,有各种创造性的方法来访问和分析/报告/可视化它公开的数据


    希望这会有所帮助。

    在我看来,这里有两个突出的问题:

  • 这些统计数据有用吗?在JMX中发布时,您能以有用的方式访问它们吗
  • 启用统计信息是否会影响系统的整体性能
  • 我们假设#1是真的(否则我们为什么会在这里?:)

    就#2而言,您实际上必须在有统计数据和无统计数据的情况下在负载下测试应用程序,但根据我的经验,这两个statstics组件对性能的影响可以忽略不计。此外,定期收集和分析这些统计数据可能会带来改进,因为它将/可能帮助您发现瓶颈或系统中可能不使用缓存的部分

    我想您可能会争辩说,有更好的方法可以挖掘这些信息,比如让后台线程定期将统计数据写入日志文件,这适用于更简单的指标,如“缓存中的元素可能有多大”,但如果核心引擎没有启用统计数据(如Hibernate的大多数指标),许多统计数据将不可用。另外,JMX已经走了很长一段路,有各种创造性的方法来访问和分析/报告/可视化它公开的数据


    希望这会有所帮助。

    我所使用的产品具备所有功能—Hibernate统计、Ehcache统计、JMX等等。但是,我们通过我们的特殊后端(而不是JMX)公开Hibernate/Ehcache信息,该后端只能由管理员用户访问,并使用JMX监控绑定到SLA合同的各种内容。但是,如果您的产品没有这样的后端,那么通过JMX公开db/cache统计数据对我来说并不是一件错误的事情


    在生产环境中打开统计信息并不是什么大问题。每个事务的成本大约是一个原子长的增量和计数,这实际上是免费的。除非您每秒处理数百万个事务,否则您不应该注意到任何差异。

    我所使用的产品具备所有功能—Hibernate统计、Ehcache统计、JMX等等。但是,我们通过我们的特殊后端(而不是JMX)公开Hibernate/Ehcache信息,该后端只能由管理员用户访问,并使用JMX监控绑定到SLA合同的各种内容。但是,如果您的产品没有这样的后端,那么通过JMX公开db/cache统计数据对我来说并不是一件错误的事情


    在生产环境中打开统计信息并不是什么大问题。每个事务的成本大约是一个原子长的增量和计数,这实际上是免费的。除非您每秒处理数百万个事务,否则您不会注意到任何差异。

    您好,谢谢您的回答。我做了一些基准测试,它不应该影响我的系统性能。嗨,谢谢你的回答。我做了一些基准测试,它不应该影响我的系统性能。