Pool 상태

커넥션 풀은 idle, active, pending을 같이 읽는다

풀 고갈은 idle이 사라지고 active가 천장에 붙은 뒤 pending이 쌓이는 순서로 드러난다.

현재 풀 스냅샷

conn-1 idle즉시 빌릴 수 있음
conn-2 active요청 A가 쿼리 실행 중
conn-3 active요청 B가 트랜잭션 점유
wait queueidle이 없으면 대기

읽는 핵심: active만 보지 말고 idle 잔여량과 pending 증가 속도를 함께 본다.

고갈 판단 순서

1. Idle0에 가까우면 새 요청을 즉시 받을 여유가 없다.
2. ActivemaximumPoolSize 근처에 오래 머물면 점유 시간이 길다.
3. Pending늘어나면 사용자는 connectionTimeout을 만나기 시작한다.
상태
정상 의미
위험 신호
Idle
빌려줄 수 있는 연결
항상 0이면 대기 증가
Active
요청이 점유 중인 연결
오래 높으면 느린 쿼리나 긴 트랜잭션
Pending
빌리기를 기다리는 요청
timeout과 재시도 부하