Connection Pool이란?
DB 연결은 TCP 핸드셰이크 + 인증으로 수십~수백 ms가 걸린다. 미리 N개 만들어 두고 돌려쓰는 풀로 이 비용을 제거한다.
주요 파라미터
- min/max size — 유휴·최대 연결 수
- idle timeout — 쉬는 연결 종료
- acquire timeout — 풀이 바닥날 때 대기 한계
대표 도구
- pgbouncer — Postgres, transaction 모드가 서버리스에 강점
- ProxySQL — MySQL
- 앱 내장: HikariCP(Java), node-postgres의 pg.Pool
서버리스 주의
Lambda에서 각 함수 인스턴스가 풀을 만들면 DB가 금세 연결 상한에 도달. pgbouncer transaction 모드 필수.