We are maintaining a 5-yr old Web Project and lately we have been experiencing login slowness. Upon inspection, c3p0 Connection Pools
gets maxed out at the time of user login. Is there a way to debug/fix this?
Current versions:
-c3p0:0.9.1.2
-hibernate:3.6.7.Final
-mysql connector: 5.1.23
Below is the 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) acquire test -- pool is already maxed out. [managed: 60; max: 60] Line 317353: 11:06:41,533 DEBUG [com.mchange.v2.resourcepool.BasicResourcePool] (ajp--172.21.66.54-8009-101) acquire test -- pool is already maxed out. [managed: 60; max: 60] Line 317370: 11:06:41,569 DEBUG [com.mchange.v2.resourcepool.BasicResourcePool] (ajp--172.21.66.54-8009-102) acquire test -- pool is already maxed out. [managed: 60; max: 60] Line 317715: 11:06:51,561 DEBUG [com.mchange.v2.resourcepool.BasicResourcePool] (ajp--172.21.66.54-8009-103) acquire test -- pool is already maxed out. [managed: 60; max: 60] Line 317829: 11:06:57,643 DEBUG [com.mchange.v2.resourcepool.BasicResourcePool] (ajp--172.21.66.54-8009-105) acquire test -- pool is already maxed out. [managed: 60; max: 60] Line 317900: 11:07:01,539 DEBUG [com.mchange.v2.resourcepool.BasicResourcePool] (ajp--172.21.66.54-8009-106) acquire test -- pool is already maxed out. [managed: 60; max: 60] Line 318002: 11:07:05,510 DEBUG [com.mchange.v2.resourcepool.BasicResourcePool] (ajp--172.21.66.54-8009-107) acquire test -- pool is already maxed out. [managed: 60; max: 60] Line 318070: 11:07:09,336 DEBUG [com.mchange.v2.resourcepool.BasicResourcePool] (ajp--172.21.66.54-8009-108) acquire test -- pool is already maxed out. [managed: 60; max: 60] Line 318118: 11:07:13,857 DEBUG [com.mchange.v2.resourcepool.BasicResourcePool] (ajp--172.21.66.54-8009-109) acquire test -- pool is already maxed out. [managed: 60; max: 60] Line 318166: 11:07:19,692 DEBUG [com.mchange.v2.resourcepool.BasicResourcePool] (ajp--172.21.66.54-8009-89) acquire test -- pool is already maxed out. [managed: 60; max: 60] Line 318239: 11:07:28,669 DEBUG [com.mchange.v2.resourcepool.BasicResourcePool] (ajp--172.21.66.54-8009-38) acquire test -- pool is already maxed out. [managed: 60; max: 60] Line 318786: 11:08:08,560 DEBUG [com.mchange.v2.resourcepool.BasicResourcePool] (ajp--172.21.66.54-8009-110) acquire test -- pool is already maxed out. [managed: 60; max: 60] Line 3
Any help would be appreciated. We've been debugging this for over a week now.
Check to see if you have a Connection leak. See e.g. c3p0 deadlocks in Hibernate or c3p0's docs directly.
Oh, and do upgrade to c3p0 0.9.5.2. c3p0 0.9.1.x is very, very old.