TIL 34일_2차

Moon-Tree·2023년 2월 16일
0

◆ DBCP(Database Connection Pool)

◆ 정의

  • 데이터베이스 연결을 효율적으로 관리하기 위한 기술입니다.
  • 데이터베이스 연결을 필요할 때마다 매번 새로운 연결을 생성하는 것이 아니라, 미리 생성된 연결을 사용하고 반환하여 연결 생성/삭제의 오버헤드를 줄일 수 있습니다.

◆ 장점

  • 연결 생성/해제 오버헤드를 줄일 수 있습니다.
  • 동시에 다수의 클라이언트 요청을 처리할 수 있습니다.
  • 커넥션 풀이 제공하는 기능을 이용하여, 커넥션 풀 크기 제한, 커넥션 유효성 체크, 커넥션 최대 유지 시간 등을 설정할 수 있습니다.

◆ DBCP를 사용하는 방법

  • 데이터베이스 드라이버를 로드합니다.
  • 커넥션 풀을 생성하고 초기 커넥션 수를 설정합니다.
  • 필요한 곳에서 커넥션을 얻어 사용합니다.
  • 작업을 마친 후에는 커넥션을 반환합니다.
  • DBCP를 구현하기 위해서는 Apache Commons DBCP나 HikariCP 등의 라이브러리를 사용할 수 있습니다. 이러한 라이브러리를 사용하면, 커넥션 풀을 생성하고 관리하는 데 필요한 코드를 직접 작성할 필요 없이 라이브러리에서 제공하는 인터페이스를 사용하여 간단하게 구현할 수 있습니다.

◆ DBCP 설정 방법

  • src/main/resources/application.properties 파일을 클릭
  • 아래와 같이 코드를 작성해주면 DBCP 설정이 완료된다.
    • 총 자리수 : spring.datasource.dbcp2.max-total=20
    • 최소 유휴 연결수 : spring.datasource.dbcp2.min-idle=0
    • 최대 유휴 연결수 : spring.datasource.dbcp2.max-idle=10
    • 0은 자리가 날 때 까지 기다림 : spring.datasource.dbcp2.max-wait-millis=0
    • 3자리가 날 때 까지 기다림 : spring.datasource.dbcp2.max-wait-millis=3000
profile
Backend Developer

0개의 댓글