메뉴 건너띄기
상단메뉴 바로가기
본문 바로가기

이 누리집은 대한민국 공식 전자정부 누리집입니다.

본문 영역

적용 지원, FAQ, Q&A 게시판을 통해 기술 문제 해결을 지원합니다.

자주 묻는 질문

파일다운로드 처리 시 OutOfMemory가 발생합니다.
  • 작성자

    관리자

  • 작성일자

    2010-09-06

  • 조회수

    4,689

질문

파일다운로드 처리를 하고 있는데.. 테스트시에는 문제가 없지만.. 운영 시에 종종 OutOfMemory 문제가 발생합니다.

내부적으로 buffering 처리를 하기 때문에 문제가 없는 것 같은데.. 어느 부분이 문제일까요?

답변

파일 다운로드의 경우는 서버상에 저장되어 있는 물리적 파일을
HttpServletResponse 객체의 OutputStream에 buffering을 통해 stream 방식으로 처리됩니다.
이 경우 버퍼링되기 때문에 OutOfMemory 문제의 소지는 없는 것 같습니다.

다만, Reponse 객체에 설정이 잘못된 경우 OutOfMemory 문제가 발생될 수 있습니다.
문제의 설정은 BufferSize로 다음과 같은 코드입니다.
response.setBufferSize(fSize);
fSize가 파일 전체 사이즈이거나 일반적인 버퍼 사이즈보다 크면
OutOfMemory 문제의 가능성이 있습니다.(일부 servlet container의 경우는 내부적으로 작게 조절함)

이 부분을 확인하셔서 삭제해 주시면 될 것 같습니다.
 

이 페이지의 구성

자주 묻는 질문