pgBouncer는 앱 연결 폭과 PostgreSQL backend 수를 분리한다
앱은 많은 연결을 들고 있어도, pgBouncer가 DB backend를 더 적은 수로 재사용하게 만들 수 있습니다.
모드
반환 시점
효과
주의
Session
클라이언트 연결 종료
호환성은 높지만 절감 폭은 작음
세션 상태 사용 가능
Transaction
COMMIT/ROLLBACK 직후
웹 요청 backend 수를 크게 줄임
세션 변수, prepared statement 점검
Statement
문장 실행 직후
짧은 단일 쿼리에 특화
멀티문장 트랜잭션 제약 큼
ORM이나 드라이버가 세션 상태를 쓰면 transaction pooling에서 깨질 수 있으므로 호환성 검사가 먼저입니다.