Connection Pool 알아보기

LeeYulhee·2024년 1월 29일
0

👉 Connection Pool이란?


  • Connection Pool은 데이터베이스 연결을 관리하는 기술
  • 여러 클라이언트가 데이터베이스에 접근할 때마다 개별적으로 연결을 생성하고 해제하는 대신, 미리 생성된 연결 집합(풀)을 재사용함으로써 성능과 자원 활용도를 향상시키는 방법
  • 웹 애플리케이션 서버가 실행될 때, 웹 애플리케이션 서버에(WAS) 생성됨



👉 사용하는 이유


  • 성능 향상
    • 데이터베이스 연결 생성 및 해제에는 시간과 자원이 많이 소모됨
    • Connection Pool을 사용하면 미리 생성된 연결을 재사용하기 때문에 이러한 오버헤드를 줄일 수 있음
  • 자원 활용 극대화
    • 동시에 많은 연결을 생성하면 시스템 자원을 과도하게 사용할 수 있음
    • Connection Pool을 사용하면 정해진 수의 연결만 유지함으로써 자원 사용을 최적화할 수 있음



👉 특징


  • Pool은 보통 최소 및 최대 연결 수를 설정할 수 있으며, 이를 통해 자원 사용과 성능 사이의 균형을 맞출 수 있음
  • 사용되지 않는 연결은 일정 시간 후 자동으로 회수될 수 있으며, 필요에 따라 자동으로 새 연결이 생성됨
  • 대부분의 Connection Pool 구현체는 멀티스레드 환경에서 안전하게 사용될 수 있도록 설계되어 있음



    💻 참고 사이트
    커넥션 풀이란(Connectio Pool)
    [Spring] 커넥션 풀(Connection pool)이란?

profile
끝없이 성장하고자 하는 백엔드 개발자입니다.

0개의 댓글