[JAVA] DBCP (DB Connection Pool)

2021. 7. 18. 00:03·JAVA
728x90

DBCP 정의

https://ppt-online.org/611650 참고

  • 미리 일정 수의 Connection을 만들어서 Pool에 담아 뒀다가 사용자의 요청이 발생하면 연결을 해주고 연결종료 시 Pool에 다시 반환하여 보관하는 데이터베이스 연결 캐시

DBCP 사용목적

  • DB에 Connection을 생성할 때 연결정보 생성 시간 비용이 많이 소모됨, DBCP를 사용하면 Connection 정보를 메모리영역에서 저장 / 관리하기 때문에 어플리케이션 단에서 비용 문제를 줄일 수가 있음  

DBCP 장점

  • DB Connection 수를 제한할 수 있어 과다한 접속으로 인한 서버의 자원 고갈을 예방 
  • DB 접속 모듈을 공통화하여 DB서버환경이 바뀔 경우 유지보수를 수월하게 함
  • 메모리영역에 커넥션 정보를 관리하기 때문에 클라이언트가 그만큼 접속을 더빠르게 할 수 있음

DBCP 종류

  • Apache Commons DBCP : 아파치에서 제공하는 보편적으로 많이 사용하고 있는 DBCP
  • HikariCP : 스프링부트 2.0부터 기본 DBCP, Commons DBCP보다 빠르다고함 (자기네들 주장임)

DBCP 고려사항

  • maxActive(커넥션 최대개수)는 성능요소중 매우 중요하며, 커넥션이 많이 몰릴 경우 maxActive 설정이 모자르면 병목현상이 발생할 수 있음, 반대로 너무 크게 설정할 경우 불필요하게 메모리를 많이 점유하기 때문에 적절한 값을 설정해줘야 함
  • WAS Thread 수는 DB Connection Pool개수보다 크게 설정해야함 (모든 요청이 DB에 접근하는 것이 아니기 때문에)
저작자표시

'JAVA' 카테고리의 다른 글

[JAVA] TreeMap  (0) 2021.11.08
[JAVA] Junit5  (0) 2021.10.13
[JAVA] Stack / Deque  (0) 2021.07.16
[JAVA] e.printStackTrace() 사용하지 말아야하는 이유  (3) 2021.07.04
[JAVA] List Collection(ArrayList / LinkedList / Vector)  (0) 2021.06.26
'JAVA' 카테고리의 다른 글
  • [JAVA] TreeMap
  • [JAVA] Junit5
  • [JAVA] Stack / Deque
  • [JAVA] e.printStackTrace() 사용하지 말아야하는 이유
집한구석
집한구석
  • 집한구석
    tgyun615.info
  • 전체
    오늘
    어제
    • 카테고리 (183)
      • JAVA (38)
      • SPRING (15)
      • KOTLIN (23)
      • NETTY (1)
      • DEVOPS (3)
      • DOCKER (7)
      • KUBERNETES (2)
      • JAVASCRIPT (1)
      • SPLUNK (3)
      • ELK (7)
      • KAFKA (2)
      • GO (4)
      • ALGORITHM & DATA STRUCTURE (9)
      • IDE (5)
      • OS (16)
      • NETWORK (14)
      • GCP (2)
      • AWS (2)
      • DATABASE (10)
      • CLEANCODE (7)
      • OTHER (12)
  • 최근 글

  • 태그

    JPA
    go
    AWS
    이펙티브 코틀린
    코틀린
    Kafka
    SQL
    프로그래머스
    엘라스틱서치
    IntelliJ
    Elk
    자바
    ElasticSearch
    cleancode
    Spring
    이펙티브코틀린
    java
    docker
    splunk
    클린코드
  • 링크

    • github
    • linkedin
    • resume
  • hELLO· Designed By 정상우. v4.10.3
집한구석
[JAVA] DBCP (DB Connection Pool)
상단으로

티스토리툴바