배포 직후 발생하는 응답 지연을 해결하기 위한 여정 (feat. JVM 웜업)
두줄요약
배포 직후 발생하던 DB Connection Timeout과 응답 지연의 원인을 분석했습니다. JVM 웜업과 startupProbe 적용으로 초기 지연 문제를 해결했습니다.
문제 상황
- 배포 직후 요청에서 DB Connection Timeout과 응답 지연이 반복 발생
- 커넥션 풀을 늘리고 배포 트래픽을 줄여도 현상 재발
원인 분석
- HikariCP 커넥션 부족만으로는 설명되지 않는 패턴
- 배포 직후 클래스 로딩과 초기화 작업이 요청 처리와 겹치며 커넥션 점유 시간 증가
- CPU 사용량과 GC 증가가 초기 병목으로 작용
해결 방법
- 애플리케이션 기동 후 핵심 API 로직을 미리 호출하는 JVM 웜업 적용
- Kubernetes startupProbe로 웜업 완료 전 유저 트래픽 유입 차단
- 배포 직후 클래스 로딩 및 초기 지연 해소






