
백엔드
대용량 JSON
두줄요약
대용량 JSON 처리에서 발생한 OOM과 세션 제한 문제를 정리했습니다. 요청 지연, Kubernetes Job 분리, HTTP 스트리밍과 MongoDB 최적화로 안정성을 높였습니다.
문제 상황
- 대용량 JSON 요청·조회 시 파싱 과정에서 OOM 발생
- 내부망 네트워크 세션 제한 550s, 장시간 처리 시 연결 끊김
- MongoDB 조회 부하와 JVM 메모리 한계로 인한 성능 저하
원인 분석
- 여러 요청이 한꺼번에 몰리며 메모리 사용량 급증
- 큰 JSON을 한 번에 메모리에 올려 처리하는 구조
- 조회 시 파일 재파싱과 DB 부하가 누적되는 구조
해결 방법
- DelayQueue와 메모리 사용률 체크로 요청 폭주 시 작업 지연
- 대용량 JSON 파싱 전용 Kubernetes Job 분리, 스트리밍 방식 처리
- 조회 응답은 StreamingResponseBody로 즉시 전송하고 MongoDB 인덱스·ReplicaSet·Slice 적용
