콘텐츠로 건너뛰기
Telemetry
API 신뢰성 SQL 레시피

p50, p95 및 p99 API 대기 시간 계산

DataFusion 호환 백분위수 SQL을 사용하여 엔드포인트별 중앙값 및 꼬리 지연 시간을 비교하세요.

중급api_requests검토됨 2026-07-27테스트됨 아파치 DataFusion 45.2.0

검토자 Telemetry 제품 팀 . SQL 호환성, 이벤트 계약, 합성 출력 및 운영상의 주의사항. 표준 및 소유권 검토

질문에 답변됨

꼬리 지연 시간이 가장 긴 엔드포인트는 무엇입니까?

평균은 사용자가 기억하는 느린 요청을 숨깁니다. p50, p95 및 p99를 비교하면 엔드포인트가 지속적으로 느린지 또는 더 작은 요청 세트로 인해 긴 꼬리가 발생하는지 알 수 있습니다.

이벤트 계약

쿼리가 예상하는 필드

필드유형그것이 존재하는 이유
timestamp_utcTimestamp요청 완료 시간(UTC)입니다.
route_templateUtf8안정적인 경로 템플릿.
latency_msFloat64요청 기간(밀리초)입니다.
status_codeInt64HTTP 응답 상태 코드입니다.
DataFusion SQL

쿼리 복사

sql
SELECT
  route_template,
  COUNT(*) AS requests,
  approx_percentile_cont(latency_ms, 0.50) AS p50_ms,
  approx_percentile_cont(latency_ms, 0.95) AS p95_ms,
  approx_percentile_cont(latency_ms, 0.99) AS p99_ms
FROM api_requests
WHERE timestamp_utc >= now() - INTERVAL '24 hours'
  AND status_code < 500
GROUP BY route_template
HAVING COUNT(*) >= 50
ORDER BY p95_ms DESC
LIMIT 10;

이 읽기 전용 쿼리는 빈 유형의 테이블에 대해 계획되고 실행됩니다. 아파치 DataFusion 45.2.0. 결정론적 샘플 출력은 합성되어 별도로 검토됩니다. 자신의 데이터에 대해 필드 유형, 임계값 및 비즈니스 정의를 검증합니다. 테스트 방법론을 읽어보세요.

쿼리 결과

경로별 p95 대기 시간

내보내기 요청은 꼬리 지연 시간이 가장 길며 일반적인 성능과 최악의 성능 사이 격차도 가장 큽니다.

route_templaterequestsp50_msp95_msp99_ms
/api/reports/export50800800800
/api/projects/:id/sync50320320320
/api/search50120120120

합성 예제 출력. 운영 결정에 사용하기 전에 자체 이벤트 스키마 및 임계값에 대해 쿼리를 실행하세요.

p95 latency by route: Calculate p50, p95, and p99 API Latency 예제 결과의 합성 p95_ms 값에 대한 정적 차트
결정론적 예제 출력의 색인 생성 가능한 SVG입니다. 기사, 런북 또는 저작자가 포함된 디자인 검토를 위해 다운로드하세요.

예제 재현

공공 픽스처 다운로드

JSON 번들은 타입이 지정된 이벤트 계약을 포함합니다. reproducible 입력 행, 정확한 SQL, 예상 출력, 검토 참고 사항 및 엔진 버전. CSV에는 표시된 결과가 포함됩니다.

SQL 작동 방식

  1. 1approx_percentile_cont는 대규모 이벤트 테이블에 효율적인 DataFusion의 t-digest 구현을 사용합니다.
  2. 25xx 응답을 필터링하면 성공적인 요청 대기 시간 보기가 됩니다. 실패 기간이 중요한 경우 별도의 실패한 요청 보기를 만듭니다.
  3. 3p50과 p95의 차이는 두 숫자 중 하나보다 더 유용한 경우가 많습니다. 간격이 넓으면 간헐적으로 느린 경로가 있음을 나타냅니다.

결정해야 할 극단적인 경우

  • 경로 컨텍스트를 유지하지 않고 근본적으로 다른 작업과 엔드포인트를 비교하지 마세요.
  • 스트리밍 경로와 장기 실행 내보내기에는 별도의 서비스 수준 목표가 필요할 수 있습니다.
  • 지연 시간을 일관된 단위로 유지하고 숫자 필드를 사용하세요.

추천 대시보드

  • 그룹화된 막대: p50_ms 및 p95_ms by route_template
  • 꺾은선형 차트: 가장 느린 경로에 대한 시간 경과에 따른 p95_ms
  • 표: 경로의 p99 위의 개별 요청

알림 안내

대용량 경로의 p95가 3개의 전체 시간 버킷에 대한 서비스 목표를 초과하면 알림합니다.

알림 설정 읽기

레시피를 활용해 보세요

관련 계측 및 가이드

소스 데이터 정의

이 분석을 위한 이벤트 스키마

분석 계속하기

실제 이벤트에서 실행

테이블을 만들고, 필드를 조정하고, 결과를 저장하세요.

무료로 시작하고, 구조화된 이벤트를 보내고, 쿼리 결과를 차트, 공유 대시보드 위젯 또는 알림 입력으로 사용하세요.

API 키 받기