대용량 엑셀 다운로드 OOM(Out Of Memory) 해결 과정
coco3o
서버가 갑자기 먹통이 된 경험을 했다.운영 중인 서버의 CPU 사용률이 급격히 상승하며 서버가 죽어버렸다.서버를 즉시 재가동하고 원인을 확인한 결과, OOM(Out Of Memory)으로 인해 서버가 중단된 것이었다. 왜 OOM(Out Of Memory)이 발생했는가?관리자 페이지에서 엑셀 다운로드를 하는데 약 N만 건 이상의 Row를 다운로드하는 과정에 OOM이 발생했다.현재 운영 중인 서버는 1개의 WAS 안에 서비스, 관리자 등 여러 프로젝트가 함께 돌아가고 있는 상황이다.여러 요청에 대한 처리와 N만 건 이상의 Row를 다운받는 요청이 겹치면서 과부하가 발생한 것으로 보인다.하지만, N만 건 정도의 데이터를 처리하면서 OOM이 발생하는 것은 이상하다고 생각하여 원인을 찾아보았다.원인 파악현재 엑셀..