티스토리 뷰

RestTemplate으로 대용량 파일 전송시 OOM(Out Of Memory)가 발생 할 수 있다.

RestTemplate 소스를 열어보면 상단 캡처처럼 setBufferRequestBody를 false로 세팅 후 사용을 권장하고있다. 
RestTemplate가 내부적으로 버퍼를 사용하게 되는데 이 옵션을 꺼주는것이다.

실제 테스트를 진행해보자.

테스트 결과

실제로 확인해보기위해 750MB Dummy file을 생성한 후 테스트를 진행했다.
결과는 다음과 같다.

- 첫번째 동그라미 : setBufferRequestBody(true)
- 두번째 동그라미 : setBufferRequestBody(false)

댓글