[JAVA] Full GC 때문에 latency 튀는 문제 추적한 과정
운영 중이던 Java 서비스에서 간헐적으로 latency가 튀는 현상이 발생했습니다. 원인을 따라가 보니 Full GC가 특정 시점마다 길게 발생하고 있었고, 그 과정을 어떻게 추적하고 정리했는지 공유해 보겠습니다.Java Full GC로 인한 latency 문제 상황문제는 간단했습니다. API 응답 시간이 평소에는 50ms 내외였는데, 특정 시점에 2~3초까지 튀는 구간이 반복적으로 발생했습니다. 요청 자체가 많은 상황은 아니었고, 특정 트래픽 패턴과도 크게 연관이 없어 보였습니다.이런 경우 흔히 DB, 외부 API, 네트워크를 먼저 의심하게 되는데, 이번 케이스는 JVM 레벨에서 멈추는 구간이 있었습니다. 스레드 dump를 떠보면 요청이 처리되지 않고 멈춰있는 상태였고, GC를 의심하기 시작한 시점이..