평균 응답 시간과 p95, 느린 요청을 따로 보는 이유

페이지 정보

profile_image
작성자 관리자
댓글 0건 조회 48회 작성일 26-09-22 08:00

본문

서버 대시보드의 평균 응답 시간이 짧은데도 일부 사용자는 화면이 느리다고 말할 수 있습니다. 평균 계산이 틀렸다는 뜻은 아닙니다.

하나의 숫자로 전체 요청을 요약하는 과정에서 느린 요청의 분포가 잘 드러나지 않을 수 있기 때문입니다. 이때 자주 등장하는 지표가 p95입니다.

평균과 p95가 각각 어떤 질문에 답하는지, 두 값을 비교하기 전에 무엇을 맞춰야 하는지 작은 예시로 정리합니다.

평균 응답 시간과 p95, 느린 요청을 따로 보는 이유 관련 설명용 삽화

AI 생성 삽화 · 개념 이해를 위한 AI 연출 이미지이며 실제 시스템 구성도나 측정 결과가 아닙니다.

핵심 정리
평균은 응답 시간의 합을 요청 수로 나눈 값이고, p95는 정렬한 분포에서 약 95% 지점의 값입니다. p95는 느린 5% 요청의 평균이나 최대 시간이 아닙니다.


1. 평균은 전체 양을 하나의 값으로 요약합니다

가상의 요청 다섯 개가 각각 100, 100, 100, 100, 1100밀리초 걸렸다고 가정합니다. 합계는 1500밀리초이고 평균은 300밀리초입니다.

다섯 요청 중 실제로 300밀리초가 걸린 요청은 없어도 평균은 올바르게 계산됩니다. 평균은 전체적인 처리 시간 변화나 요청당 소요 시간을 파악하는 데 유용하지만 모든 사용자가 그만큼 기다렸다는 뜻은 아닙니다.

평균이 같은 두 서비스도 응답 시간의 퍼짐은 다를 수 있습니다. 따라서 평균을 읽을 때는 개별 요청의 대표적인 경험과 수학적 요약값을 구분해야 합니다.

지표 이름에 평균이라고 쓰여 있다면 합계와 요청 수를 어느 구간에서 집계했는지도 함께 확인합니다.


2. p95는 순서가 있는 분포의 위치입니다

응답 시간을 작은 값부터 정렬했을 때 95번째 백분위에 해당하는 값이 p95입니다. 직관적으로는 관측 요청의 약 95%가 그 시간 이하였다는 의미로 읽습니다.

다만 표본 수와 계산법에 따라 보간을 사용하므로 실제 관측값과 정확히 일치하지 않을 수 있습니다. 최근접 순위 방식으로 100개 요청을 계산한다면 정렬한 95번째 값이 됩니다.

p95가 800밀리초라고 해서 모든 요청이 800밀리초 안에 끝나거나 가장 느린 요청이 800밀리초라는 뜻은 아닙니다. Prometheus 공식 설명에서도 분위수 계산과 집계 방법을 구분합니다.

대시보드의 수치를 해석할 때는 사용하는 도구가 어떤 방식으로 추정하는지 확인해야 합니다.


3. 느린 요청의 수가 달라지는 예시를 봅니다

다음은 개념 설명을 위해 만든 100개 요청 예시입니다. 90개가 각각 100밀리초, 10개가 각각 2000밀리초라면 평균은 290밀리초이고 최근접 순위 방식의 p95는 2000밀리초입니다.

평균만 보면 비교적 짧아 보이지만 일부 요청이 오래 걸린다는 사실이 p95에 드러납니다. 반면 99개가 100밀리초이고 한 개만 2000밀리초라면 같은 방식의 p95는 100밀리초입니다.

극단적으로 느린 한 건이 존재해도 p95만으로는 드러나지 않을 수 있습니다. 이 숫자들은 실측 성능이나 권장 기준이 아닙니다.

어느 지표를 선택하느냐에 따라 확인할 수 있는 분포의 부분이 다르다는 점을 보여 주는 예시입니다.


4. 느린 5%의 평균과 혼동하지 않습니다

p95는 분포를 나누는 경계에 가까운 값입니다. 그 경계보다 느린 요청들이 얼마나 더 느린지는 별도 정보가 필요합니다.

p95가 같아도 나머지 요청이 조금 더 느린 서비스와 매우 오래 걸리는 서비스는 사용자 경험이 다를 수 있습니다. 그래서 최대값이나 더 높은 백분위, 지연 구간별 요청 수를 함께 살펴볼 수 있습니다.

다만 최대값 하나도 일회성 이상치에 크게 영향을 받을 수 있으므로 항상 가장 좋은 지표가 되는 것은 아닙니다. 확인하려는 문제가 일반적인 체감인지, 드문 장기 지연인지 먼저 정합니다.

지표를 많이 추가하기보다 각각 어떤 질문에 답하는지 설명할 수 있어야 대시보드를 읽기 쉬워집니다.


5. 비교할 요청과 시간 구간을 맞춥니다

로그인 API의 최근 5분 p95와 전체 API의 하루 평균을 나란히 놓고 성능이 좋아졌다고 판단하기는 어렵습니다. 요청 종류, 성공과 실패의 포함 여부, 관측 구간, 단위가 같아야 비교가 의미 있습니다.

빠르게 실패한 요청이 많아지면 평균 지연 시간이 줄어도 서비스 상태는 나빠질 수 있습니다. 클라이언트에서 측정한 전체 대기 시간과 서버 내부 처리 시간도 범위가 다릅니다.

가상의 장애 분석 메모라면 주문 조회 API, 최근 10분, 서버 수신부터 응답 완료까지처럼 측정 대상을 문장으로 적습니다. 시간 초과나 취소된 요청이 지표에 어떻게 반영되는지도 확인해야 사용자가 겪는 지연과 대시보드의 차이를 설명할 수 있습니다.


6. 서버별 p95를 평균 내지 않습니다

서버 A와 B가 각각 계산한 p95를 단순 평균하면 전체 요청의 p95가 되지 않습니다. 두 서버가 받은 요청 수와 분포가 다르기 때문입니다.

예를 들어 요청이 매우 적은 서버와 많은 서버의 백분위를 똑같은 비중으로 섞으면 전체 요청의 위치 정보를 복원할 수 없습니다. Prometheus 공식 문서는 미리 계산된 분위수를 이런 방식으로 합치는 문제와 히스토그램을 통한 집계를 설명합니다.

실제 쿼리를 작성할 때는 서버별 지연 분포를 합칠 수 있는 측정 구조인지 확인합니다. 이 글의 핵심은 특정 쿼리를 복사하는 것이 아니라 이미 요약된 백분위 숫자에는 원래 요청의 분포 정보가 충분히 남아 있지 않다는 점입니다.


7. 표본 수와 추정의 한계를 같이 읽습니다

요청이 몇 건 없는 구간의 p95는 한두 요청에 크게 흔들릴 수 있습니다. 트래픽이 많은 시간과 적은 시간을 같은 기준으로 비교할 때는 요청 수를 함께 봅니다.

히스토그램으로 계산하는 경우 구간 설정이나 해상도에 따라 추정 오차가 생길 수 있습니다. 대시보드의 소수점 자릿수가 많다고 원래 관측이 그만큼 정확하다는 뜻은 아닙니다.

운영 메모에는 p95 수치와 요청 수, 관측 구간을 묶어 기록하는 편이 좋습니다. 이전보다 수치가 변했다면 배포뿐 아니라 요청 구성이나 트래픽 변화도 확인합니다.

지연 지표는 원인을 직접 알려 주는 답안이 아니라 어느 구간을 더 조사할지 정하는 출발점입니다.


8. 초보자가 점검할 순서를 정합니다

먼저 사용자가 느리다고 말한 동작과 연결되는 요청을 찾습니다. 다음으로 같은 구간의 요청 수, 평균, p95, 오류 비율을 함께 확인합니다.

지연이 반복되는지 일회성인지 살펴보고 느린 요청의 로그나 추적 자료로 범위를 좁힙니다. 데이터베이스나 외부 호출이 원인일 수 있지만 p95 상승만 보고 원인을 단정하지 않습니다.

개선 후에는 변경 전후의 요청 조건이 비슷한지 확인하고 같은 지표로 비교합니다. 학습용 프로젝트에서도 측정 범위를 문서에 한 줄 적고 가상의 작은 배열로 평균과 백분위를 계산해 보면 도움이 됩니다.

숫자를 외우기보다 값이 만들어진 관측 대상과 계산 과정을 설명하는 것이 중요합니다.


9. 숫자를 발표할 때 단위를 함께 적습니다

같은 값 0.8이라도 초인지 밀리초인지에 따라 의미가 크게 달라집니다. 보고서에는 최근 10분의 특정 API p95가 800밀리초라는 식으로 대상과 단위를 함께 적습니다.

이전 값과 비교할 때는 같은 집계 방식을 사용했는지도 표시합니다. 그래프를 캡처할 때 축과 관측 구간이 잘리지 않도록 하면 다른 사람이 숫자만 보고 잘못 해석하는 일을 줄일 수 있습니다.

이러한 표기는 성능 개선 자체는 아니지만 측정 결과를 정확히 공유하는 기본 조건입니다.


10. 자주 묻는 질문

Q1. p95가 낮으면 모든 사용자가 빠르게 이용하나요?

그렇지 않습니다. p95보다 느린 요청과 측정에 포함되지 않은 지연이 있을 수 있어 요청 범위와 다른 지표를 함께 봅니다.

Q2. 평균은 이제 사용하지 않아도 되나요?

평균도 전체 변화와 요청당 시간 파악에 유용합니다. 분포의 특정 위치를 보는 p95와 함께 읽으면 서로 다른 정보를 얻을 수 있습니다.

Q3. p95와 p99 중 무엇이 더 좋은가요?

확인하려는 지연의 범위와 표본 수에 따라 다릅니다. 더 높은 백분위가 항상 더 유용하거나 안정적인 것은 아닙니다.

Q4. 계산기와 대시보드의 백분위가 다릅니다

표본 범위와 계산법, 히스토그램 추정 여부를 먼저 확인합니다. 단위와 집계 구간이 같은지도 맞춰 본 뒤 차이를 해석합니다.


참고 자료

댓글목록

등록된 댓글이 없습니다.