웹 서비스의 성능 개선을 위해 새로운 캐시 계층을 배포한 후, 평균 지연 시간(latency)은 오히려 9% 증가했습니다. 112ms에서 122ms로 늘어난 이 수치만 본다면 배포는 실패한 것처럼 보입니다. 하지만 동시에 중앙값(p50)은 99ms에서 54ms로 46%나 개선되었고, 최악의 지연 시간인 p99는 309ms에서 678ms로 두 배 이상 악화되는 등 단일 통계치로는 설명할 수 없는 복합적인 결과가 나타났습니다. 이는 시스템 변경의 성패를 판단할 때 평균과 같은 하나의 지표에만 의존하는 것이 얼마나 위험한지 보여주는 사례입니다.
이러한 상반된 결과의 원인을 파악하기 위해 지연 시간 분포를 자세히 분석한 결과, 배포 전에는 하나의 봉우리였던 분포가 배포 후에는 두 개의 봉우리로 갈라진 것을 발견했습니다. 누적분포함수(CDF)를 통해 살펴보니 약 140ms를 기준으로 빠른 요청은 더 빨라졌지만, 느린 요청은 오히려 더 느려진 것으로 나타났습니다. 이봉 분포(bimodal distribution)의 원인을 찾기 위해 데이터를 캐시 적중(hit)과 미스(miss), 그리고 응답 크기로 세분화했습니다. 그 결과, 작은 응답의 캐시 적중은 빨라졌지만, 큰 응답의 캐시 미스는 추가적인 네트워크 홉(hop) 때문에 지연 시간이 크게 늘어난 것이 확인되었습니다. 즉, 캐시가 작은 객체에는 효과적이었으나, 큰 객체 처리에는 문제를 일으켜 전체 평균을 끌어올린 것입니다.
이 사례는 시스템 성능 분석에서 전체 분포와 하위 집단(subgroup)을 함께 살펴보는 것이 얼마나 중요한지 강조합니다. 평균이나 특정 백분위(percentile) 하나만으로는 진정한 변화의 양상을 파악하기 어렵고, 잘못된 의사결정으로 이어질 수 있습니다. 누적분포함수(CDF), 이동 함수(shift function), 능선 그래프(ridgeline plot), 히트맵(heatmap) 등 다양한 시각화 도구를 활용하여 데이터의 전체적인 형태, 백분위별 변화, 시간에 따른 추세, 그리고 근본적인 원인을 파악해야 합니다. 이를 통해 캐시 최대 객체 크기 확대나 큰 응답 분할과 같은 구체적이고 효과적인 개선 조치를 마련할 수 있습니다. 단일 지표에 갇히지 않고 데이터 전체를 깊이 있게 이해하는 것이 성공적인 시스템 운영의 핵심입니다.