1. 개요
백분위수(Percentile)는 값을 작은 것부터 줄 세웠을 때 앞에서 몇 % 지점에 있는 값이다. 지연을 말할 때 평균 대신 쓰는 사실상의 표준이다.
예를 들어 “TTFT p95 가 800ms"라면 요청 100개 중 95개는 800ms 안에 첫 토큰을 받았다는 뜻이다.
2. 평균을 안 쓰는 이유
같은 서버에서도 요청마다 걸린 시간이 다르다. 평균은 아주 느린 몇 개에 끌려 올라가서, 대부분의 사용자가 겪는 시간을 잘 보여 주지 못한다.
p95 = '20명 중 19명은 이보다 빨랐다'. 평균은 느린 몇 개에 끌려간다
3. 표기
| 표기 | 뜻 |
|---|---|
| p50 (중앙값) | 절반의 요청이 이보다 빠르다 |
| p95 | 100개 중 95개가 이보다 빠르다 |
| p99 | 100개 중 99개가 이보다 빠르다 |
4. SLA 에 쓰는 법
SLA 는 보통 “TTFT p95 ≤ 1초"처럼 지표와 백분위수를 함께 적는다.
- p95 — 대부분의 사용자가 겪는 최악에 가깝다. 가장 흔히 쓴다
- p99 — 몇 안 되는 요청에 흔들려, 측정 횟수가 적으면 불안정하다1
5. 여담
- p99 처럼 느린 쪽 끝을 업계에서는 꼬리 지연(tail latency)이라고 부른다. 구글의 제프 딘(Jeff Dean)과 루이스 바로소(Luiz André Barroso)가 2013년에 쓴 「The Tail at Scale」이 이 문제를 널리 알린 글로 유명하다.
- 그 글의 요지: 요청 하나가 서버 여러 대를 거치면, 각 서버의 드문 느린 응답이 겹쳐 전체 요청에서는 느린 경우가 훨씬 자주 나온다.
- 백분위수는 서로 더하거나 평균 낼 수 없다. 서버 두 대의 p95 를 평균 내도 합친 트래픽의 p95 가 아니다.
대시보드에서 자주 저지르는 실수다
6. 관련 문서
7. 출처
- NVIDIA — LLM Inference Benchmarking: Fundamental Concepts
- vLLM — vllm bench serve
- Dean & Barroso, The Tail at Scale (Communications of the ACM, 2013)
100번보다 적게 재면 p99 는 사실상 ‘가장 느린 한 개’가 된다. ↩︎