【问题标题】:Verify connection pool size assigned in Hibernate验证 Hibernate 中分配的连接池大小
【发布时间】:2014-05-13 15:50:48
【问题描述】:

我们用于配置 org.apache.commons.dbcp.BasicDataSource 数据源。通过论坛,我看到属性“maxActive”定义了最大并发连接数。我们如何验证/确保它设置正确。下面是我在 Spring 中的配置文件,我们使用 Hibernate4 作为 ORM

<bean id="AAADataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="com.mysql.jdbc.Driver" /> <property name="url" value="" /> <property name="username" value="" /> <property name="password" value="" /> <property name="testOnBorrow" value="true"></property> <property name="validationQuery" value="select 1"></property> <property name="maxActive" value="300"></property> <property name="initialSize" value="50"></property> </bean>

【问题讨论】:

    标签: java hibernate connection-pooling


    【解决方案1】:

    设置小值并使用负载测试(jmeter,jperf ...)进行测试,并使用监控工具进行检查。可以使用JDK自带的jvisualvm进行监控。

    【讨论】:

    • 我的理解是jvisualvm是用来监控JVM(CPU,Threads,GC and PermGen)的。我们如何检查连接数?
    • 它允许您附加到 JMX 并清楚地查看有关连接池的信息。我以前用它来监控 c3p0 池
    • 简单的方法是使用 jconsole 并附加到 java 本地进程
    • 如果你仍然觉得很难。请查看我的指南using jconsole to profile
    【解决方案2】:

    可以在运行时通过 JMX 使用 commons-dbcp-jmx 使各种属性可读,包括 maxActive 属性。 JDK 包括 JConsole 和 JVisualVM,它们可以显示通过 JMX 检索的 MBean 属性。 JConsole 可以连接到任何本地运行的 Java 进程,并在“MBeans”选项卡上显示 MBean 属性。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-08-25
      • 2019-05-07
      • 1970-01-01
      • 2011-08-13
      • 2015-12-19
      • 2018-02-18
      • 1970-01-01
      相关资源
      最近更新 更多