목록 보기
대용량 JSON
백엔드

대용량 JSON

넥스트리
넥스트리
2024년 1월 8일

두줄요약

대용량 JSON 처리에서 발생한 OOM과 세션 제한 문제를 정리했습니다. 요청 지연, Kubernetes Job 분리, HTTP 스트리밍과 MongoDB 최적화로 안정성을 높였습니다.

문제 상황

  • 대용량 JSON 요청·조회 시 파싱 과정에서 OOM 발생
  • 내부망 네트워크 세션 제한 550s, 장시간 처리 시 연결 끊김
  • MongoDB 조회 부하와 JVM 메모리 한계로 인한 성능 저하

원인 분석

  • 여러 요청이 한꺼번에 몰리며 메모리 사용량 급증
  • 큰 JSON을 한 번에 메모리에 올려 처리하는 구조
  • 조회 시 파일 재파싱과 DB 부하가 누적되는 구조

해결 방법

  • DelayQueue와 메모리 사용률 체크로 요청 폭주 시 작업 지연
  • 대용량 JSON 파싱 전용 Kubernetes Job 분리, 스트리밍 방식 처리
  • 조회 응답은 StreamingResponseBody로 즉시 전송하고 MongoDB 인덱스·ReplicaSet·Slice 적용

댓글 0

댓글을 작성하려면 로그인이 필요합니다.

댓글을 불러오는 중...