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 애플리케이션 설정에 도움이 되길 바랍니다.
'개발 > BACK' 카테고리의 다른 글
MySQL 내장 함수를 통해 비밀번호 암호화 하기 (0) | 2024.07.12 |
---|---|
MySQL에서 프로시저 작성 방법 및 예제 가이드 (0) | 2024.07.12 |
NoSQL 데이터베이스 정의 및 예제 (0) | 2024.07.10 |
Spring Boot에서 Firebase Messaging 구현하기 (0) | 2024.07.10 |
Spring Boot 환경에서 RabbitMQ 적용하기 (0) | 2024.07.10 |