2017-02-02 8 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; max:60] Line 317353:11:06:41,533 DEBUG (ajp - 172.21.66.54-8009-101)取得テストプールは既に最大で です。 [管理対象:60; max:60] Line 317370:11:06:41,569 DEBUG (ajp - 172.21.66.54-8009-102)取得テストプールは既に最大で です。 [管理対象:60; max:60] Line 317715:11:06:51,561 DEBUG を取得済みです。 (ajp - 172.21.66.54-8009-103)を取得しています。 [管理対象:60; max:60] Line 317829:11:06:57,643 DEBUG (ajp - 172.21.66.54-8009-105)取得テストプールは既に最大で です。 [管理対象:60; max:60] Line 317900:11:07:01,539 DEBUG (ajp - 172.21.66.54-8009-106)取得テストプールは既に最大で です。 [管理対象:60; max:60] Line 318002:11:07:05,510 DEBUG (ajp - 172.21.66.54-8009-107)取得テストプールは既に最大で です。 [管理対象:60; max:60] Line 318070:11:07:09,336 DEBUG (ajp - 172.21.66.54-8009-108)取得テストプールは既に最大で です。 [管理対象:60; max:60] Line 318118:11:07:13,857 DEBUG [com.mchange.v2.resourcepool.BasicResourcePool] (ajp - 172.21.66.54-8009-109)の取得テストプールは既に最大で です。 [管理対象:60; max:60] Line 318166:11:07:19,692 DEBUG (ajp - 172.21.66.54-8009-89)取得テストプールは既に最大限に活用されています。 [マネージ:60; max:60] Line 318239:11:07:28,669 DEBUG (ajp - 172.21.66.54-8009-38)取得テストプールは既に最大限に活用されています。 [マネージ:60; max:60] Line 318786:11:08:08,560 DEBUG [com.mchange.v2.resourcepool.BasicResourcePool] (ajp - 172.21.66.54-8009-110)の取得テストプールは既に最大で です。 [管理対象:60; max:60] Line 3

ご協力いただければ幸いです。これを1週間以上にわたってデバッグしています。

答えて

0

接続リークがないかどうか確認してください。例えば、 c3p0 deadlocks in Hibernateまたはc3p0のドキュメントdirectly

ああ、c3p0 0.9.5.2にアップグレードしてください。 c3p0 0.9.1.xは非常に古くなっています。

+0

提案していただきありがとうございます。実際には、unreturnedConnectionTimeoutとdebugUnreturnedConnectionStackTracesを実装しています。我々はそれを生産に移した後で見るだろう。 – stanats

関連する問題