728x90
Connection Pool은 데이터베이스 연결을 효율적으로 재사용하기 위한 연결 캐시(Connection Cache)입니다.
매번 새 연결을 생성하는 대신, 미리 생성된 연결을 풀(Pool)에 보관하고 필요할 때마다 꺼내 쓰고 반환합니다.
📌 왜 필요한가?
- 데이터베이스 연결은 생성과 종료에 많은 비용이 듭니다.
- 사용자가 많아질수록 연결 비용은 급증하고, 성능 저하가 발생합니다.
- Connection Pool은 재사용 가능한 연결을 관리하여 이런 비용을 줄입니다.
🔧 동작 방식
- 애플리케이션 시작 시, DB 연결을 여러 개 생성해 Pool에 저장.
- 클라이언트가 요청하면 Pool에서 유휴 Connection을 제공.
- 사용이 끝나면 Connection은 닫지 않고 다시 Pool로 반환.
- 동시 접속이 많아 남은 Connection이 없으면, 대기 상태로 전환 후 반환되면 순서대로 처리.
⚙️ Connection Pool 크기 설정 팁
설정 | 설명 |
---|---|
너무 큼 | 메모리 과다 사용, 시스템 리소스 낭비 |
너무 작음 | 동시 요청 시 대기 시간 증가 |
✅ 적절한 크기 | 서버 부하와 트래픽을 고려해 동적으로 조절 필요 |
📚 정리
- Connection Pool은 Connection 재사용으로 성능을 높이는 기술입니다.
- 미리 생성된 연결을 활용해 응답 속도 향상 및 자원 절약 가능.
- 연결 수를 제한해 안정적인 서비스 유지 가능.
- 동시 접속 증가 시 대기 메커니즘을 통해 시스템 다운 방지.
728x90
'DB' 카테고리의 다른 글
Redis 란?_명령어_brpop (0) | 2023.04.16 |
---|---|
Redis 란?_명령어_기초 (0) | 2023.04.16 |
Redis 란?_Key/value 규칙 (0) | 2023.04.16 |
Redis 란?_기본 정보 (0) | 2023.04.16 |
데이터베이스 트랜잭션(Transaction) 이란? (0) | 2023.04.15 |