连接池监控

IMJ*_*MJS 9 java jboss monitoring hibernate connection-pooling

我需要深入了解我的Web应用程序中的连接池.
有关申请的技术规格如下:

  1. 应用程序服务器 - JBoss Application Server
  2. 数据库 - Oracle 10g
  3. 后端 - Hibernate

我需要知道监控连接池的不同方法是什么,以及我们如何做到这一点.无论是通过Hibernate还是通过JBoss或其他方式?请建议我正确的方法.

San*_*osh 9

对于典型的服务器端Java应用程序,最优选的监视方式之一是通过JMX.大多数应用程序(包括连接池)都提供可用于监视的默认JMX bean(称为MBean或托管bean).连接池(例如C3P0)创建MBean将其与底层可用的JMX服务器绑定(几乎所有应用程序服务器都包含tomcat,JBoss)

此 MBean将保存有关连接池的所有信息.您已经提到过您正在使用JBoss服务器.在Jboss提供的Web管理控制台上,应该有一个配置来查看所有MBean(包括已部署的连接池的MBean).

监视的另一种方法是通过Java附带的JConsole实用程序.同样的JConsole也可用于监控JBoss AS.


Vla*_*cea 6

FlexyPool 是一个数据源代理,为几乎所有已知的连接池提供更好的监控和故障转移:

  • 阿帕奇DBCP
  • 阿帕奇DBCP2
  • C3P0
  • 骨CP
  • 光CP
  • 雄猫CP
  • 维布尔DBCP
  • Bitronix 交易管理器
  • Atomikos 交易要点

它允许您监控以下指标:

  • 并发连接直方图
  • 并发连接请求直方图
  • 数据源连接获取时间直方图
  • 连接租用时间直方图
  • 最大池大小直方图
  • 总连接获取时间直方图
  • 溢出池大小直方图
  • 重试次数直方图

通过这种方式,您可以调整池大小,使其能够容纳尽可能多的应用程序节点,同时保护您免受意外流量峰值的影响。


Jam*_*ook 3

这可能不是您想要的。但你到底用什么来建造游泳池呢?如果您还没有决定,请查看C3PO,它提供了用于监控的 JMX 公开属性