[Spring] 스프링 첫 요청이 처리되는데 오래 걸리는 이유(서블릿 초기화와 JIT 컴파일러)와 해결 방법(웜업, Warm-Up)
Spring 애플리케이션을 실행하고 요청을 보내면 유독 첫 요청이 오래 걸립니다. 이것은 우연이 아니고 디스패처 서블릿의 구조와 관련이 있습니다. 이번에는 왜 스프링에서는 첫 요청이 처리되는데 오래 걸리는지 그리고 어떻게 해결할 수 있는지 살펴보도록 하겠습니다. 1. 스프링의 서블릿 초기화 작업들 [ 디스패처 서블릿과 서블릿의 생명 주기 ] 스프링에는 모든 요청을 가장 먼저 받아 적합한 컨트롤러에 위임하는 디스패처 서블릿이 있다. 디스패처 서블릿은 J2EE 스펙의 HttpServlet 클래스를 확장한 서블릿 기반의 기술인데, 첫 요청이 오래 걸리는 이유는 서블릿의 생명주기와 연관이 있다. 서블릿의 생명 주기는 3가지 단계로 나뉘어지는데, 그림으로 보면 다음과 같다. 초기화: 요청이 들어오면 서블릿이 웹 ..
Spring
2022. 4. 1. 10:00