본문 바로가기

개발/BACK

Spring Boot에서 DB 풀 사이즈와 Auto-Commit 설정 방법

728x90

Spring Boot를 사용하여 애플리케이션을 개발할 때 데이터베이스 커넥션 풀의 크기와 Auto-Commit 설정을 조정하는 것은 중요한 작업입니다. 이러한 설정을 통해 애플리케이션의 성능을 최적화하고, 안정성을 높일 수 있습니다. 이 포스팅에서는 Spring Boot에서 DB 풀 사이즈를 지정하는 방법과 Auto-Commit을 설정하는 방법에 대해 알아보겠습니다.

1. DB 풀 사이즈 지정 방법

Spring Boot에서는 HikariCP가 기본 데이터베이스 커넥션 풀로 사용됩니다. HikariCP의 설정은 application.properties 또는 application.yml 파일에서 할 수 있습니다.

 

application.properties 파일 예제

# 데이터베이스 연결 설정
spring.datasource.url=jdbc:mysql://localhost:3306/yourdatabase
spring.datasource.username=yourusername
spring.datasource.password=yourpassword

# HikariCP 설정
spring.datasource.hikari.maximum-pool-size=20
spring.datasource.hikari.minimum-idle=5
spring.datasource.hikari.idle-timeout=30000
spring.datasource.hikari.max-lifetime=1800000
spring.datasource.hikari.connection-timeout=30000

 

 

application.yml 파일 예제

 

spring:
  datasource:
    url: jdbc:mysql://localhost:3306/yourdatabase
    username: yourusername
    password: yourpassword
    hikari:
      maximum-pool-size: 20
      minimum-idle: 5
      idle-timeout: 30000
      max-lifetime: 1800000
      connection-timeout: 30000

 

 

위 예제에서 maximum-pool-size는 최대 커넥션 풀 사이즈를 지정하고, minimum-idle은 최소 유휴 커넥션 수를 설정합니다. 나머지 옵션들은 커넥션 풀의 다른 특성을 제어합니다.

2. Auto-Commit 설정 방법

Auto-Commit 설정은 JDBC 드라이버에서 트랜잭션이 자동으로 커밋되는지 여부를 결정합니다. HikariCP를 사용하는 경우, application.properties 또는 application.yml 파일에서 spring.datasource.hikari.auto-commit 속성을 설정하여 Auto-Commit을 관리할 수 있습니다.

 

 

application.properties 파일 예제

# HikariCP Auto-Commit 설정
spring.datasource.hikari.auto-commit=false

 

 

application.yml 파일 예제

 

spring:
  datasource:
    hikari:
      auto-commit: false

 

 

위 설정에서 auto-commit을 false로 설정하면, 트랜잭션이 자동으로 커밋되지 않으며, 명시적으로 트랜잭션을 커밋해야 합니다. 이는 트랜잭션 관리가 필요한 경우에 유용합니다.

결론

Spring Boot에서 DB 풀 사이즈와 Auto-Commit 설정을 적절하게 조정하면 애플리케이션의 성능과 안정성을 향상시킬 수 있습니다. application.properties 또는 application.yml 파일을 사용하여 이러한 설정을 손쉽게 변경할 수 있습니다. 이를 통해 효율적인 데이터베이스 커넥션 관리를 할 수 있습니다.

이 포스팅이 여러분의 Spring Boot 애플리케이션 설정에 도움이 되길 바랍니다.

728x90