perf: DB 커넥션 풀 재분배 (총 250개, prod 환경)

Phase 1.4: DB 서버 500개 중 250개를 보수적으로 할당
- Query: 60 → 120 (min 20) — WebSocket 스트리밍 + REST API 주 사용 (48%)
- Collect: 20 → 80 (min 15) — 배치 Reader, 신호 수집 조회 (32%)
- Batch: 20 → 30 (min 5) — Spring Batch 메타데이터 (12%)
- 예비: 20개 (8%) — 운영 여유분

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
HeungTak Lee 2026-02-06 13:38:15 +09:00
부모 21916716bf
커밋 122a247faf

파일 보기

@ -23,8 +23,8 @@ spring:
connection-timeout: 30000 # 원격 연결이므로 타임아웃 증가 connection-timeout: 30000 # 원격 연결이므로 타임아웃 증가
idle-timeout: 600000 idle-timeout: 600000
max-lifetime: 1800000 max-lifetime: 1800000
maximum-pool-size: 20 # 10 -> 20 증가 maximum-pool-size: 80 # 20 -> 80 (총 250 중 32%, 배치 Reader 주 사용)
minimum-idle: 5 # 2 -> 5 증가 minimum-idle: 15 # 5 -> 15
# 원격 연결 안정성을 위한 추가 설정 # 원격 연결 안정성을 위한 추가 설정
connection-test-query: SELECT 1 connection-test-query: SELECT 1
validation-timeout: 5000 validation-timeout: 5000
@ -42,8 +42,8 @@ spring:
connection-timeout: 5000 connection-timeout: 5000
idle-timeout: 600000 idle-timeout: 600000
max-lifetime: 1800000 max-lifetime: 1800000
maximum-pool-size: 60 # 20 -> 40 증가 maximum-pool-size: 120 # 60 -> 120 (총 250 중 48%, WebSocket 스트리밍 + REST API 주 사용)
minimum-idle: 10 # 5 -> 10 증가 minimum-idle: 20 # 10 -> 20
connection-test-query: SELECT 1 connection-test-query: SELECT 1
validation-timeout: 5000 validation-timeout: 5000
leak-detection-threshold: 60000 # 커넥션 누수 감지 (60초) leak-detection-threshold: 60000 # 커넥션 누수 감지 (60초)
@ -62,8 +62,8 @@ spring:
driver-class-name: org.postgresql.Driver driver-class-name: org.postgresql.Driver
hikari: hikari:
pool-name: BatchHikariPool pool-name: BatchHikariPool
maximum-pool-size: 20 # 10 → 30 증가 maximum-pool-size: 30 # 20 -> 30 (총 250 중 12%, Spring Batch 메타데이터)
minimum-idle: 10 # 2 → 10 증가 minimum-idle: 5 # 10 -> 5 (메타데이터 용도이므로 최소 유지)
connection-timeout: 30000 # 30초 타임아웃 connection-timeout: 30000 # 30초 타임아웃
idle-timeout: 600000 idle-timeout: 600000
max-lifetime: 1800000 max-lifetime: 1800000