런타임이 당신의 적이 된 순간
The Moment the Runtime Became Your Enemy
TL;DR AI
1분핵심 요약
OpenJDK 21 기반 Spring Boot와 Lucene 로그 인덱싱 서비스가 고부하에서 JVM safepoint stall로 심각한 지연을 겪었다.
힙을 늘리고 ZGC로 바꾸고 JVM 배포판을 교체하며 스레드를 줄여도 병목은 사라지지 않았다.
팀은 Rust와 Tokio, 새로운 인덱싱/파싱 설계를 적용해 엔진을 재작성했고, 낮고 예측 가능한 지연을 되찾았다.
같은 하드웨어에서 p99 지연은 89ms까지 떨어졌다.
이 사례는 GC가 병목이 아니더라도, 매우 높은 요청률에서는 JVM safepoint가 주요 지연 원인이 될 수 있음을 보여준다.

