근본 원인: 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> |
||
|---|---|---|
| .. | ||
| main | ||
| test | ||