c3p0连接池总是最大化

时间:2017-02-02 04:00:11

标签: mysql hibernate c3p0

我们正在维护一个有5年历史的Web项目,最近我们遇到了登录缓慢的问题。检查后,c3p0 Connection Pools在用户登录时最大化。有没有办法调试/修复它?

 Current versions: 
 -c3p0:0.9.1.2
 -hibernate:3.6.7.Final 
 -mysql connector: 5.1.23

以下是c3p0 setting

<bean id="c3p0PooledMysqlDataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource">
    <property name="jdbcUrl" value="XX"/>
    <property name="user" value="XXXX"/>
    <property name="password" value="XXXX"/>
    <property name="driverClass" value="com.mysql.jdbc.Driver"/>
    <property name="acquireIncrement" value="3"/>
    <property name="idleConnectionTestPeriod" value="300"/>
    <property name="maxIdleTime" value="900"/>
    <property name="maxIdleTimeExcessConnections" value="599" />
    <property name="maxPoolSize" value="60"/>
    <property name="minPoolSize" value="5"/>
    <property name="maxStatements" value="0"/>
    <property name="testConnectionOnCheckout" value="true"/>
    <property name="preferredTestQuery" value="select 1" />
</bean>

Log Snippet:

  

Line 315730:11:06:29,208 DEBUG   [com.mchange.v2.resourcepool.BasicResourcePool]   (ajp - 172.21.66.54-8009-98)获取测试池已经达到最大值。   [管理:60;最大值:60] 317353:11:06:41,533 DEBUG   [com.mchange.v2.resourcepool.BasicResourcePool]   (ajp - 172.21.66.54-8009-101)获取测试池已经达到最大值   出。 [管理:60;最大值:60] 317370:11:06:41,569 DEBUG   [com.mchange.v2.resourcepool.BasicResourcePool]   (ajp - 172.21.66.54-8009-102)获取测试池已经达到最大值   出。 [管理:60;最大值:60] 317715:11:06:51,561 DEBUG   [com.mchange.v2.resourcepool.BasicResourcePool]   (ajp - 172.21.66.54-8009-103)获取测试池已经达到最大值   出。 [管理:60;最大值:60]线317829:11:06:57,643 DEBUG   [com.mchange.v2.resourcepool.BasicResourcePool]   (ajp - 172.21.66.54-8009-105)获取测试池已经达到最大值   出。 [管理:60;最大值:60]线317900:11:07:01,539调试   [com.mchange.v2.resourcepool.BasicResourcePool]   (ajp - 172.21.66.54-8009-106)获取测试池已经达到最大值   出。 [管理:60;最大值:60]线318002:11:07:05,510调试   [com.mchange.v2.resourcepool.BasicResourcePool]   (ajp - 172.21.66.54-8009-107)获取测试池已经达到最大值   出。 [管理:60; max:60] Line 318070:11:07:09,336 DEBUG   [com.mchange.v2.resourcepool.BasicResourcePool]   (ajp - 172.21.66.54-8009-108)获取测试池已经达到最大值   出。 [管理:60;最大:60]线318118:11:07:13,857调试   [com.mchange.v2.resourcepool.BasicResourcePool]   (ajp - 172.21.66.54-8009-109)获取测试池已经达到最大值   出。 [管理:60;最大:60]线318166:11:07:19,692调试   [com.mchange.v2.resourcepool.BasicResourcePool]   (ajp - 172.21.66.54-8009-89)获得测试池已经达到最大值。   [管理:60;最大值:60]线318239:11:07:28,669 DEBUG   [com.mchange.v2.resourcepool.BasicResourcePool]   (ajp - 172.21.66.54-8009-38)获得测试池已经达到最大化。   [管理:60;最大值:60] 318786:11:08:08,560 DEBUG   [com.mchange.v2.resourcepool.BasicResourcePool]   (ajp - 172.21.66.54-8009-110)获取测试池已经达到最大值   出。 [管理:60;最大值:60]第3行

任何帮助将不胜感激。我们已经调试了一个多星期了。

1 个答案:

答案 0 :(得分:0)

检查您是否有连接泄漏。参见例如c3p0 deadlocks in Hibernate或c3p0的文档directly

哦,并升级到c3p0 0.9.5.2。 c3p0 0.9.1.x非常非常老。