Я хочу выбрать пул соединений для приложения с высокой пропускной способностью

Я использовал пул соединений C3P0, но не получил стабильного поведения. Я тестирую в различных средах и улучшаю параметры базы данных. Сегодня я обнаружил, что пул соединений Tomcat 7 jdbc выпущен и получил его. Кто-нибудь использует его и получает лучшую производительность, чем C3p0? (Я также тестирую пул соединений boncp)
Мое приложение очень загружено. Мои проблемы:

  1. через час пул соединений выдает исключение «Не удается открыть соединение».
  2. иногда я получаю это исключение «Попытка использовать закрытый или сломанный пул ресурсов», и при перезапуске моего пула соединений (по его mbean) проблема исправлена
    Мои параметры C3P0:

    initialPoolSize = 1
    minPoolSize=1
    maxPoolSize = 50
    maxIdleTime = 20000
    debugUnreturnedConnectionStackTraces = true
    propertyCycle = 60
    AcquireRetryDelay = 1000
    maxConnectionAge = 0
    checkoutTimeout =5000
    acquireIncrement =1
    numHelperThreads=5
    acquireRetryAttempts=1
    unreturnedConnectionTimeout=90
    breakAfterAcquireFailure=false
    Я также тестирую эти параметры с несколькими значения, но заметных изменений не вижу.

person Sam    schedule 30.01.2012    source источник


Ответы (1)


Я еще не пробовал пул tomcat, но скоро посмотрю на это. Что вы, вероятно, можете сделать, так это настроить свой пул c3p0 для оптимизации. Это будет варьироваться в зависимости от фактической нагрузки на ваше приложение, но по сравнению с другими технологиями пула я считаю c3p0 более гибким. Было бы неплохо, если бы вы подробно описали свою проблему здесь и упомянули параметры объединения, которые вы используете.

person Sumit Bisht    schedule 30.01.2012
comment
Спасибо за ваш ответ. Я добавляю полное описание моей конфигурации и проблемы к исходному моему вопросу. - person Sam; 31.01.2012