【发布时间】:2017-06-19 00:55:26
【问题描述】:
我们正在维护一个已有 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>
日志片段:
第 315730 行:11:06:29,208 调试 [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) 获取测试 -- 池已满 出去。 [管理:60;最大:60] 第 317370 行:11:06:41,569 调试 [com.mchange.v2.resourcepool.BasicResourcePool] (ajp--172.21.66.54-8009-102) 获取测试 -- 池已满 出去。 [管理:60;最大:60] 第 317715 行:11:06:51,561 调试 [com.mchange.v2.resourcepool.BasicResourcePool] (ajp--172.21.66.54-8009-103) 获取测试 -- 池已满 出去。 [管理:60;最大:60] 第 317829 行:11:06:57,643 调试 [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;最大: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) 获取测试 -- 池已满 出去。 [管理: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 调试 [com.mchange.v2.resourcepool.BasicResourcePool] (ajp--172.21.66.54-8009-38) 获取测试 -- 池已满。 [管理:60;最大:60] 第 318786 行:11:08:08,560 调试 [com.mchange.v2.resourcepool.BasicResourcePool] (ajp--172.21.66.54-8009-110) 获取测试 -- 池已满 出去。 [管理:60;最大:60] 第 3 行
任何帮助将不胜感激。我们已经调试了一个多星期了。
【问题讨论】:
-
jstack 可能会向您揭示一些卡住的线程...另请参阅stackoverflow.com/questions/41900344/…