Hikari 설정

springboot 2.x 대부터는 기본적으Hikari 풀을 사용한다고 한다.

application.propertises

spring.datasource.url=jdbc:mysql://localhost:3306/test
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.hikari.minimum-idle=10
spring.datasource.hikari.maximum-pool-size=20
spring.datasource.hikari.idle-timeout=500000
spring.datasource.hikari.max-lifetime=540000
spring.datasource.hikari.connection-timeout=60000
spring.datasource.hikari.connection-test-query=SELECT 1

application.yml

spring:
    datasource:
        driver-class-name: com.mysql.jdbc.Driver
        hikari:
            connection-test-query: SELECT 1
            connection-timeout: 60000
            idle-timeout: 500000
            max-lifetime: 540000
            maximum-pool-size: 20
            minimum-idle: 10
        password: 123456
        url: jdbc:mysql://localhost:3306/test
        username: root
  • spring.datasource.hikari.minimum-idle : pool에서 관리하는 최소 유휴 connection의 수에 관한 설정이다. 기본값으로 maximumPoolSize와 같은 값을 가진다.

  • spring.datasource.hikari.maximum-pool-size : 유휴한 connection과 사용중인 connection을 포함하여 pool의 크기를 설정하는 것이다. 기본값으로는 10을 가진다.

  • spring.datasource.hikari.max-lifetime : connection의 최대 유지시간에 관한 설정이다. 이 시간이 지난 connection 중에서 사용중인 connection은 connection이 종료된 이후에 pool에서 제거가 된다. 기본값으로는 1800000ms(30분)를 가지고, 0으로 설정하게 되면 무한 수명을 의미한다.

  • spring.datasource.hikari.connection-timeout : 클라이언트가 pool의 connection을 기다리는 최 대 시간(밀리초, ms)에 관한 설정으로, 기본값은 30000ms(30초)이고, 최소값은 250ms이다. 또한 만일 최대 시간을 넘으면 SQL Exception이 발생한다.

  • spring.datasource.hikari.connection-test-query : 데이터베이스 연결이 여전히 활성화되어있는지 확인하기 위해 pool에서 connection을 제공하기 전에 실행되는 쿼리입니다. 드라이버가 JDBC4를 지원하는 경우 이 속성을 사용하지 않는 것이 좋다고함.

Last updated