#jboss #c3p0
Вопрос:
У меня есть веб-приложение, развернутое на сервере jboss.
Я использую java 7 и postgres 9.3, и я использую c3p0-0.9.5.2.jar
У меня около 3000 пользователей, которые подключаются к системе
Моя проблема заключается в том, что загрузка процессора составляет 100% в Windows Server 2012-R2 после 5 часов запуска серверного приложения. (имеется в виду после загрузки системы)
это моя аппаратная конфигурация 16 ГБ оперативной памяти и 8 виртуальных процессов
Я использую эту конфигурацию в applicationContext-db.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="dataSource" class = "com.mchange.v2.c3p0.ComboPooledDataSource" destroy-method="close">
<property name="driverClass" value="org.postgresql.Driver"/>
<property name="jdbcUrl" value="jdbc:postgresql://10.60.60.20:5432/prodDB"/>
<property name="user" value="postgres"/>
<property name="password" value="postgres"/>
<!-- pool sizing -->
<property name="initialPoolSize" value="32" />
<property name="minPoolSize" value="30" />
<property name="maxPoolSize" value="300" />
<property name="acquireIncrement" value="10" />
<property name="maxStatements" value="0" />
<!-- retries -->
<property name="acquireRetryAttempts" value="30" />
<property name="acquireRetryDelay" value="1000" /> <!-- 1s -->
<property name="breakAfterAcquireFailure" value="false" />
<!-- refreshing connections -->
<property name="maxIdleTime" value="180" /> <!-- 3min -->
<property name="maxConnectionAge" value="10" /> <!-- 1h -->
<!-- timeouts and testing -->
<property name="checkoutTimeout" value="0" /> <!-- 30s -->
<property name="idleConnectionTestPeriod" value="60" /> <!-- 60 -->
<property name="testConnectionOnCheckout" value="true" />
<property name="preferredTestQuery" value="SELECT 1" />
<property name="testConnectionOnCheckin" value="true" />
</bean>
</beans>
Я думаю, что мне следует изменить значение checkoutTimeout