Проблемы с производительностью пула соединений Grails

Во время анализа производительности моего проекта я обнаружил несколько проблем, указывающих на пул соединений. Каждый запрос запускает следующий код для использования пула соединений фабрики сеансов:

def sql = new Sql(sessionFactory.getCurrentSession().connection())
def resultList = sql.rows(sqlQuery,parameters)

Самый первый запрос фабрики сеансов в каждом потоке обычно занимает от 200 до 300 миллисекунд, тогда как последующие запросы (даже идентичные запросы) занимают 50-80 миллисекунд.

Я переключился на HikariCP просто для сравнения, и время выполнения сократилось вдвое, прежде всего потому, что не было задержки при начальном подключении внутри каждого потока. Что может привести к тому, что первое соединение в каждом потоке займет так много времени в диспетчере пула соединений Grails по умолчанию (пул соединений commons-dbcp в соответствии с этот сайт)?

Источник данных:

    dataSource {
        pooled = true
        logSql = true
        loggingSql = true//change this to true to get hibernate logging in your console
        dialect="org.hibernate.dialect.DB2Dialect"
        driverClassName = "com.ibm.db2.jcc.DB2Driver"
        username = "notReal"
        password = "notReal"
        url = 'NOTREAL'
        pooled = true
        readOnly = true
        properties {
            initialSize = 4
            minIdle = 1
            maxIdle = 8
            maxActive = 100
            maxWait = 2000
            maxAge = 60000
            minEvictableIdleTimeMillis=30000
            timeBetweenEvictionRunsMillis=30000
            abandonWhenPercentageFull = 50
            numTestsPerEvictionRun=3
            testOnBorrow=true
            testWhileIdle=true
            testOnReturn=true
            validationQuery="SELECT 1"
            validationInterval=500
        }
    }

hibernate {
    cache.use_second_level_cache = true
    cache.use_query_cache = true
    cache.region.factory_class = 'org.hibernate.cache.ehcache.EhCacheRegionFactory'
}

Версия Грааля:

Groovy/Grails Tool Suite 
Version: 3.6.2.RELEASE
Platform: Eclipse Kepler SR2 (4.3.2)

person Chris H    schedule 17.11.2014    source источник
comment
Это было бы потому, что HikariCP крут.   -  person brettw    schedule 18.11.2014