본문으로 건너뛰기

P90, P95, P99 Latency Percentiles 란? 성능 지표(Performance Metrics) 이해하기

  • P90, P95, P99 Latency는 성능 지표(Performance Metrics)로, 시스템의 응답 시간을 측정하는 방법 중 하나입니다. 이는 시스템의 성능을 측정하고, 시스템의 응답 시간을 분석하는 데 사용됩니다.
  • P90, P95, P99 Latency는 각각 90%, 95%, 99%의 응답 시간을 나타냅니다.
    • P90 : 90%의 요청이 이 시간 이내에 처리되었음을 의미합니다.
    • P95 : 95%의 요청이 이 시간 이내에 처리되었음을 의미합니다.
    • P99 : 99%의 요청이 이 시간 이내에 처리되었음을 의미합니다.
  • 위 설명만 보았을 때에는 이해하기 어려울 수 있기 때문에, 하기의 예시를 통해 이해해보겠습니다.
LatencyNumber of requestsSum of requests
100ms33
200ms58
300ms1018
400ms3048
500ms2068
600ms1583
700ms1093
800ms497
2000ms299
10000ms1100
  • 위 데이터는 100 개의 요청에 대한 응답 시간을 나타냅니다.
  • P90, P95, P99를 계산해보겠습니다.
    • P90 : 90%의 요청이 처리된 시간을 나타냅니다. 따라서, 100 * 0.9 = 90번째 요청의 응답 시간을 찾아야 합니다. 90번째 요청의 응답 시간은 700ms 입니다.
    • P95 : 95%의 요청이 처리된 시간을 나타냅니다. 따라서, 100 * 0.95 = 95번째 요청의 응답 시간을 찾아야 합니다. 95번째 요청의 응답 시간은 800ms 입니다.
    • P99 : 99%의 요청이 처리된 시간을 나타냅니다. 따라서, 100 * 0.99 = 99번째 요청의 응답 시간을 찾아야 합니다. 99번째 요청의 응답 시간은 2000ms 입니다.
  • 따라서, 위 데이터의 P90, P95, P99는 각각 700ms, 800ms, 2000ms 입니다.
  • 여기서 가장 느린 응답 시간은 10000ms 입니다. 이는 100%의 요청이 처리된 시간을 나타냅니다.
    • 대부분의 요청 속도는 300ms ~ 800ms 사이에 있지만, 일부 요청은 10000ms까지 걸릴 수 있음을 알 수 있습니다.
    • 특별한 소수의 값이 매우 크면 평균값이 매우 크게 높아지기 때문에, 평균값으로만 성능을 측정하는 것은 적절하지 않을 수 있습니다.
    • 위 사례의 예시로 평균 연봉을 생각해볼 수 있습니다. 소수 임원의 연봉이 매우 높다면, 평균 연봉은 높아지지만, 대부분의 직원들의 연봉은 평균보다 낮을 수 있습니다.
  • 평균은 이상치(Outlier)에 민감하게 반응할 수 있기 때문에, 평균으로 Latency를 측정하는 것과 별개로 P90, P95, P99를 사용하여 Latency를 측정합니다.