• /
  • EnglishEspañolFrançais日本語한국어Português
  • 로그인지금 시작하기

사용자의 편의를 위해 제공되는 기계 번역입니다.

영문본과 번역본이 일치하지 않는 경우 영문본이 우선합니다. 보다 자세한 내용은 이 페이지를 방문하시기 바랍니다.

문제 신고

샘플링 설정

|View as Markdown (English)

APM 에이전트 샘플러는 주어진 서비스 내의 어떤 트랜잭션을 에이전트가 뉴렐릭으로 보낼지 제어합니다. 이 페이지에서는 적응형 및 트레이스 ID 비율 기반과 같은 샘플러 유형, 적응형 샘플링 타겟, 그리고 업스트림 샘플링 결정에 따라 샘플링을 설정하는 방법에 대해 다룹니다.

이 가이드의 설정 예제는 YAML 형식(자바 에이전트)을 사용합니다. 에이전트별 구문 및 전체 파라미터 참조는 다음을 확인하십시오:

샘플링 작동 방식

샘플링 결정 단계

샘플링 결정은 5단계로 이루어집니다:

  1. 요청이 서비스에 도착합니다.
  2. 에이전트는 샘플링 컨텍스트를 확인합니다: 이것이 루트 트랜잭션입니까, 아니면 업스트림 서비스가 이미 샘플링 결정을 내렸습니까?
  3. 에이전트는 컨텍스트와 설정에 따라 적절한 샘플러를 적용합니다.
  4. 에이전트가 샘플링 결정을 내립니다: 샘플링하거나 샘플링하지 않습니다.
  5. 에이전트는 분산 트레이스 컨텍스트 헤더를 통해 다운스트림 서비스에 결정을 전파합니다.

샘플러 컨텍스트

APM 에이전트는 다양한 트레이스 시나리오를 처리하기 위해 세 가지 샘플링 컨텍스트를 사용합니다. 각 컨텍스트는 자체 샘플러 설정을 가질 수 있습니다.

문맥적용되는 경우사용 사례
뿌리분산 트레이스는 현재 서비스에서 시작됩니다.이 서비스에서 시작되는 트레이스에 대한 샘플링을 제어합니다
원격 상위 샘플링됨업스트림 서비스가 이미 이 트레이스를 샘플링했습니다.업스트림 서비스가 샘플링한 트레이스에 대한 트레이싱 제어
원격 상위가 샘플링되지 않음업스트림 서비스가 이 트레이스를 샘플링하지 않기로 결정했습니다.업스트림 서비스가 거부한 트레이스에 대한 샘플링을 제어하십시오.

샘플러 유형

APM 에이전트는 각각 다른 시나리오에 적합한 네 가지 샘플러 유형을 제공합니다.

샘플러 유형작동 원리가장 좋은
적응형트래픽 양에 관계없이 분당 고정된 수의 트레이스를 타겟으로 합니다.트래픽 급증에 관계없이 일관된 트레이스 수
트레이스 ID 비율 기반트레이스 ID를 기반으로 고정된 비율의 트레이스를 샘플링합니다.트래픽 비율에 따른 서비스 전반의 결정론적 샘플링
상시 가동모든 트랜잭션을 샘플링합니다.특정 컨텍스트에 대한 전체 트레이스 커버리지
항상 꺼짐트랜잭션을 샘플링하지 않습니다특정 컨텍스트에 대해 샘플링을 완전히 비활성화

권장 설정

선택할 수 있는 샘플러가 너무 많아서 서비스에 적합한 설정을 찾기 어려울 수 있습니다. 적합한 설정을 찾는 가장 좋은 방법은 현재 서비스의 트레이스 분포를 관찰하고, 원하는 트레이스 분포를 향해 조금씩 조정하는 것입니다.

시작점으로 다음 설정을 권장합니다:

distributed_tracing:
sampler:
root:
trace_id_ratio_based:
ratio: 0.1
remote_parent_sampled:
always_on
remote_parent_not_sampled:
always_off

이 설정은 root 컨텍스트에서 트레이스의 10%를 샘플링하고, remote_parent_sampled 컨텍스트에서는 모든 트레이스를 샘플링하며, remote_parent_not_sampled 컨텍스트에서는 트레이스를 샘플링하지 않습니다.

일부 애플리케이션의 경우, 이 설정은 트레이스의 균형 잡힌 분배를 위한 합리적인 출발점입니다. 다른 애플리케이션의 경우 — 예를 들어 대부분의 트레이스가 업스트림 서비스에서 시작되는 경우 — 이 설정은 remote_parent_sampled 트레이스의 우선순위를 너무 높이고 root 트레이스의 우선순위를 너무 낮출 수 있습니다. 이 경우, 업스트림에서 샘플링된 트레이스의 일정 비율만 캡처하도록 remote_parent_sampled 설정을 수정해 보십시오:

distributed_tracing:
sampler:
root:
trace_id_ratio_based:
ratio: 0.1
remote_parent_sampled:
trace_id_ratio_based:
ratio: 0.2 # Sample 20% of sampled traces originating upstream, instead of all of them
remote_parent_not_sampled:
always_off

무엇 향후 계획

이제 샘플링을 이해했으므로:

  • 에이전트에 대한 전체 샘플러 설정 참조를 확인하십시오: 자바, Node.js, 파이썬
  • 복사하여 붙여넣을 수 있는 설정이 포함된 실제 시나리오에 대해서는 샘플러 설정 예시를 참조하십시오.

팁

샘플링 설정은 복잡할 수 있습니다. 단일 패턴으로 시작하여 실제 트레이스 볼륨과 요구 사항에 따라 반복하십시오. 지원 가능성 메트릭과 트레이스 쿼리를 사용하여 설정이 예상대로 작동하는지 확인하십시오.

Copyright © 2026 New Relic Inc.

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.