여러 서버의 p99를 평균 내 전체 p99로 보고합니다. 왜 틀릴 수 있으며 어떻게 집계하나요?
잠깐, 답변을 보기 전에
먼저 내 말로 설명해 볼까요?
답변과 점검 포인트 펼치기답변 접기
구두 답변
정의를 외우기보다, 원리와 조건을 연결해 설명해 보세요.
백분위수는 일반적으로 평균해서 전체 백분위수가 되지 않습니다. 서버별 요청 수와 분포가 다르기 때문입니다. 동일 경계의 histogram count를 합치거나 원본 분포를 적절히 병합해 전체 분위를 계산해야 합니다.
동작 원리와 전제
요청 한 건인 느린 서버와 백만 건인 빠른 서버의 p99를 같은 비중으로 평균하면 실제 사용자 분포와 다릅니다. histogram bucket은 원하는 SLO 경계와 꼬리 해상도에 맞추고 누적·비누적 형식을 구분합니다.
선택과 실패 처리
classic·native histogram·summary 등 도구의 집계 가능성과 오차 계약을 확인합니다. 라벨별 분포를 모두 합치면 특정 지역 장애가 숨을 수 있어 전체와 세부 집단을 함께 봅니다. bucket 수를 늘리면 저장·카디널리티 비용이 생깁니다.
구체적인 사례와 검증
서버 A의 요청 100만 건은 대부분 10ms이고 B의 요청 10건은 모두 1초라고 하겠습니다. 두 서버 p99의 단순 평균은 사용자 전체의 99번째 백분위와 다릅니다. 같은 bucket 경계의 count를 요청 수에 맞게 합쳐야 분포를 보존할 수 있습니다. bucket 경계가 너무 넓으면 p99 추정 오차가 커질 수 있어 원하는 SLO 근처 해상도를 확보합니다. 지연을 초와 밀리초로 혼합하면 집계가 무의미해지므로 단위를 통일합니다. timeout을 지연 표본에서 제외하면 가장 느린 요청이 사라져 지표가 좋아 보일 수 있어 대상과 실패의 처리도 명시합니다.
알려진 작은 분포로 집계 결과를 계산해 검증합니다. 단위·측정 구간·timeout 포함 여부를 맞추고 평균 지연·p99·SLO 성공 비율을 구분합니다. 대시보드 숫자가 정밀해 보여도 입력 분포와 집계 의미가 맞아야 합니다.
득점 포인트
이해가 드러나는 지점을 확인해 보세요.
- 핵심 구분: 백분위수는 일반적으로 평균해서 전체 백분위수가 되지 않습니다.
- 선택 조건: classic·native histogram·summary 등 도구의 집계 가능성과 오차 계약을 확인합니다.
- 검증 기준: 알려진 작은 분포로 집계 결과를 계산해 검증합니다.
감점 포인트
놓치기 쉬운 조건과 오해를 짚어 보세요.
- 서버별 p99를 평균하면 전체 p99가 된다고 한다.
더 파고들 거리
하나 더 질문하며 이해의 범위를 넓혀 보세요.
- 처리량이 늘어도 느린 요청이 더 길어지면 어떤 분포와 용량 기준으로 판단하나요?
- 개별 요청 분석과 집계 지표를 나누어 label 수와 개인정보 비용을 어떻게 제한하나요?
- 유효 사용자 요청의 성공·지연·정상 거절을 어떤 분모와 운영 행동으로 연결하나요?
득점·감점 포인트는 학습용 자기 점검 기준이며, 특정 회사의 실제 채점표가 아닙니다.
원리부터 공부하고 싶다면
답변을 보충하는 개념·예제·슈도코드를 읽어 보세요.