본 글 작성에 ai의 도움을 받았습니다. 경매 데이터 20만 건을 넣고 목록 API에 부하를 줬더니 OutOfMemoryError: Java heap space가 발생했다. 한 페이지에 내려주는 데이터는 16건이었다. 힙 덤프를 열어보니 16건을 응답하기 위해 조건에 맞는 경매 전체를 읽고 있었다. 조회 결과를 JVM 메모리에 올린 뒤 정렬하고 페이지를 자르는 구조였다. DB에서 조회 범위를 제한하도록 바꾸고 다시 테스트했을 때는 OOM이 발생하지 않았다.문제를 해결하고 나서도 OOM 이후 서버가 어떻게 되는지는 궁금했다. JVM이 종료되는 건지, 부하를 멈추고 기다리면 다시 응답하는 건지 직접 확인해 보고 싶었다. 이미 조회 개선이 반영돼 있었기 때문에 개선 전 코드를 별도 환경에 올렸다. 이번에는 ..