2017-02-02 138 views
0

我們正在維護一個5年前的Web項目,最近我們遇到了登錄緩慢的問題。經過檢查,c3p0 Connection Pools在用戶登錄時被刷新。有沒有辦法調試/修復這個問題?c3p0連接池總是被刷新

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> 

日誌段:

線315730:11:06:29208 DEBUG [com.mchange.v2.resourcepool.BasicResourcePool] (AJP - 172.21.66.54-8009-98)獲得測試池已經超過了。 [託管:60;最大:60]行317353:11:06:41,533調試 [com.mchange.v2.resourcepool.BasicResourcePool] (ajp - 172.21.66.54-8009-101)獲取測試池已經最大爲 out。 [託管:60;最大:60]行317370:11:06:41,569 DEBUG [com.mchange.v2.resourcepool.BasicResourcePool] (ajp - 172.21.66.54-8009-102)獲取測試池已經最大爲 out。 [託管:60; max:60] Line 317715:11:06:51,561 DEBUG [com.mchange.v2.resourcepool.BasicResourcePool] (ajp - 172.21.66.54-8009-103)獲取測試池已經最大爲 out。 [託管:60;最大:60]行317829:11:06:57,643 DEBUG [com.mchange.v2.resourcepool.BasicResourcePool] (ajp - 172.21.66.54-8009-105)獲取測試池已經最大爲 out。 [託管:60;最大:60]行317900:11:07:01,539調試 [com.mchange.v2.resourcepool.BasicResourcePool] (ajp - 172.21.66.54-8009-106)獲取測試池已經最大爲 out。 [託管:60;最大:60]行318002:11:07:05,510 DEBUG [com.mchange.v2.resourcepool.BasicResourcePool] (ajp - 172.21.66.54-8009-107)獲取測試池已經最大爲 out。 [託管:60;最大:60]行318070:11:07:09,336調試 [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)獲取測試池已經最大爲 out。 [託管:60; max:60] Line 318166:11:07:19,692 DEBUG [com.mchange.v2.resourcepool.BasicResourcePool] (ajp - 172.21.66.54-8009-89)獲取測試池已經超時。 [託管:60;最大:60]行318239:11:07:28,669調試 [com.mchange.v2.resourcepool.BasicResourcePool] (ajp - 172.21.66.54-8009-38)獲取測試池已被刷新。 [託管:60;最大:60] Line 318786:11:08:08,560調試 [com.mchange.v2.resourcepool.BasicResourcePool] (ajp - 172.21.66.54-8009-110)獲取測試池已經最大爲 out。 [託管:60;最大:60]第3行

任何幫助,將不勝感激。我們已經調試了一個多星期了。

回答

0

檢查是否有連接泄漏。見例如c3p0 deadlocks in Hibernate或c3p0的文檔directly

哦,並且升級到c3p0 0.9.5.2。 c3p0 0.9.1.x非常非常老。

+0

感謝您的建議。我們實際上實現了unreturnedConnectionTimeout和debugUnreturnedConnectionStackTraces。我們將其轉移到生產後我們會看到。 – stanats