[Phase 2] 테스트를 마친 후, 스레드 덤프를 확보하기 위해 설정 변경 없이 동일한 테스트를 한 번 더 실행했다. 그런데 결과는 충격적이었다.

| 지표 (Metrics) | Phase 2 (Cold) | Phase 2 (Warm-up) | 증감률 |
|---|---|---|---|
| TPS | 221.1 /s | 882.2 /s | ▲ 300% (4배 상승) |
| CPU Usage | 32 % | 85 % | CPU 과부화 |
| Load Avg(최대) | 5.4 | 12.5 | ▲ 131% (스레드 경합 심화) |
코드 한 줄, 설정 값 하나 바꾸지 않았는데 처리량(TPS)은 4배가 뛰었고, CPU는 85% 까지 치면서 과부화가 걸렸다. 이 현상을 보고 가장 먼저 생각난 부분은 두 가지 였다.
이 가설을 검증하기 위해 **Redis 모니터링 지표**와 **JIT 컴파일 로그**를 분석했다.
가장 먼저 의심한 것은 I/O 병목의 해소 여부였다. Grafana를 통해 Redis의 Hits / Misses 지표를 비교해보았다.
Cold vs Warm-up Redis 지표 비교


왼쪽 (Cold Test)
캐시가 비어있었기 때문에 요청이 들어오는 족족 DB로 흘러갔다. 즉, 초당 150번의 DB 조회(Disk I/O)가 시스템 전체 속도를 제한하고 있었다고 해석할 수 있다.
오른쪽 (Warm-up Test)