선박 항적 실시간 수집 및 배치 집계 시스템 (Spring Boot + Spring Batch)
Go to file
LHT 28e6887379 fix: WebSocket OOM 방지 — 버퍼 256MB→2MB + 힙 기반 Admission Control
근본 원인: maxTextMessageBufferSize=256MB가 세션당 Humongous 객체 유발
- 100세션 × 256MB = 25.6GB G1GC 회수 불가 Humongous 리전 누적 → OOM

변경 내역:
- WebSocketStompConfig: 컨테이너 버퍼 256MB→2MB, SockJS stream 100MB→5MB
- WebSocketProperties: sendBuffer 256→50MB, outboundQueue 5000→200, msgLimit 50→2MB
- YAML(prod/prod-mpr/query): websocket.transport 섹션 명시적 추가
- ActiveQueryManager: 힙 사용률 85% 초과 시 쿼리 대기열 전환
- ChunkedTrackStreamingService: 중간 컬렉션 clear()/null 즉시 해제
- GisServiceV2: 캐시 원본 보호 toBuilder().build() + 중간 컬렉션 해제
- StompTrackController: activeSessions COMPLETED/ERROR 시 자동 제거
- AsyncConfig: 스레드풀 core 40→15, max 120→30

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-12 16:37:48 +09:00
.claude.bak feat: 항적 조회 안정성 개선 - 계층적 폴백, 선박 누락 방지, 2-pass 뷰포트 필터링 2026-02-05 06:53:47 +09:00
.mvn/wrapper feat: REST V2 캐시 우선 조회 + Semaphore 부하 제어 + 응답 포인트 상한 2026-02-11 06:43:02 +09:00
docs feat: REST V2 캐시 우선 조회 + Semaphore 부하 제어 + 응답 포인트 상한 2026-02-11 06:43:02 +09:00
src fix: WebSocket OOM 방지 — 버퍼 256MB→2MB + 힙 기반 Admission Control 2026-02-12 16:37:48 +09:00
.gitattributes feat: REST V2 캐시 우선 조회 + Semaphore 부하 제어 + 응답 포인트 상한 2026-02-11 06:43:02 +09:00
.gitignore feat: REST V2 캐시 우선 조회 + Semaphore 부하 제어 + 응답 포인트 상한 2026-02-11 06:43:02 +09:00
mvnw feat: REST V2 캐시 우선 조회 + Semaphore 부하 제어 + 응답 포인트 상한 2026-02-11 06:43:02 +09:00
mvnw.cmd Initial commit 2025-11-19 16:03:16 +09:00
pom.xml Initial commit 2025-11-19 16:03:16 +09:00
run-on-query-server-dev.sh feat: 대기열 기반 쿼리 관리 및 타임아웃 최적화 (Phase 5) 2026-02-06 15:34:02 +09:00
vessel-batch-control.sh feat: 대기열 기반 쿼리 관리 및 타임아웃 최적화 (Phase 5) 2026-02-06 15:34:02 +09:00