DBCP(DB connection pool)의 개념과 설정 방법

‍bng4535·2023년 4월 1일
0

DBCP란?

  • 백엔드 서버와 DB서버에서 데이터를 송수신할 때 매번 connection을 열고 닫는 비용이 발생하여 서비스 성능에 좋지 않다. 이러한 문제를 해결하는 것이 DBCP
  • DBCP란 데이터베이스와의 연결을 관리하기 위한 커넥션 풀 라이브러리
  • Connection을 미리 만들어 놓고 Connection Pool에 저장하여 커넥션이 필요할 때마다 Pool에서 가져와 연결
  • get connection : 쿼리를 요청하기 전 커넥션 풀에서 커넥션 객체를 가져옴
  • close connection : 요청 처리가 끝나면 커넥션을 커넥션 풀로 반납

DBCP 설정 방법

  • DB Connection은 backend server와 DB서버 사이의 연결을 의미하기 때문에 backend server와 DB서버 각각에서의 설정(configuration)방법을 알고 있어야 함
  • DB 서버 설정

    • max_connections : client와 맺을 수 있는 최대 connection 수
    • wait_timeout : connection이 inactive할 때 다시 요청이 오기까지 얼마의 시간을 기다린 뒤에 close할 것인지 결정
  • DBCP 설정

    • minimumIdle : poll에서 유지하는 최소한의 idle connection 수
    • maximumPoolSize : pool이 가질 수 있는 최대 connection 수
    • maxLifetime : pool에서 connection의 수명 - connectionTimeout : pool에서 connection을 받기 위한 대기 시간
    • 권장 사항 : minimumIdle과 maximumPoolSize동일하게 두는 것 권장, pool size를 넉넉하게 잡아놓으면 대규모 트래픽에 대처 가능
profile
공부 기록

0개의 댓글