DB connection pool[Database]

SnowCat·2023년 8월 9일
0

CS - Database

목록 보기
9/10
post-thumbnail

DB Connection Pool

  • 신뢰성을 위해 백엔드 서버와 DB서버는 TCP기반으로 동작하는데, connection을 연결하고 해제할 때 시간적인 비용이 많이 발생하게 됨
  • 이를 방지하기 위해 미리 TCP 연결을 여러개 만들어 놓고, 사용하지 않은 connection pool을 사용해 DB 쿼리를 처리하는 방식을 DB Connection pool 이라고 함
  • API 요청이 있을 떄에는 사용하지 않는 connection pool을 사용하고, 요청이 종료될 때는 연결 해제 없이 connection pool을 사용해 쿼리의 속도를 증가시킬 수 있게 됨
  • mysql에서는 다음과 같은 파라미터를 설정 가능
    • max_connections: 최대로 사용가능한 connection 수
    • wait_timeout: connection이 비활성화될때 얼마만큼 기다리고 connection을 닫을 것인지를 설정하는 변수
  • spring의 HikariCP에서는 다음과 같은 파라미터를 설정 가능
    • minimumIdle: pool에서 유지하는 최소한의 idle connection 수
    • maximumPoolSize: pool이 가질 수 있는 최대 connection 수
    • maxLifetime: pool에서의 connection의 최대 수명
    • connectionTimeout:pool에서 connection을 받기 위한 대기시간

출처:
https://www.youtube.com/watch?v=zowzVqx3MQ4&list=PLcXyemr8ZeoREWGhhZi5FZs6cvymjIBVe&index=30&t=3s

profile
냐아아아아아아아아앙

1개의 댓글

comment-user-thumbnail
2023년 8월 9일

글 재미있게 봤습니다.

답글 달기
Powered by GraphCDN, the GraphQL CDN