我们正在维护一个有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行
任何帮助将不胜感激。我们已经调试了一个多星期了。
答案 0 :(得分:0)
检查您是否有连接泄漏。参见例如c3p0 deadlocks in Hibernate或c3p0的文档directly。
哦,并升级到c3p0 0.9.5.2。 c3p0 0.9.1.x非常非常老。