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

이 한글 문서는 사용자의 편의를 위해 기계 번역되었습니다.

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

문제 신고

.NET 성능 메트릭

New Relic의 .NET 에이전트는 .NET 런타임에서 애플리케이션 성능에 대한 메트릭을 수집합니다. 이러한 메트릭은 응용 프로그램이 소비하는 CPU 및 메모리 양과 응용 프로그램 성능이 가비지 수집 및 스레드 풀 리소스 경합에 의해 영향을 받는 방식에 대한 통찰력을 제공할 수 있습니다.

.NET 성능 메트릭의 전체 제품군은 .NET 에이전트 버전 8.20 이상에서 사용할 수 있습니다.

one.newrelic.com > All capabilities >APM & services 에서 이러한 메트릭을 볼 수 있습니다. 애플리케이션을 선택하고 More views > Dotnet VMs 으로 이동합니다.

다음을 통해 이러한 지표를 볼 수도 있습니다.

CPU 메트릭

다음 CPU 메트릭이 수집됩니다.

  • CPU/사용자/활용
    이 프로세스에서 사용하는 CPU의 백분율입니다.
  • CPU/사용자 시간
    프로세스가 애플리케이션 코드를 실행하는 데 소요한 시간입니다.

메모리 메트릭

다음 메모리 메트릭이 수집됩니다.

  • 메모리/물리적
    프로세스에 할당된 개인(물리적) 메모리의 양(MB)입니다.
  • 메모리/워킹셋
    프로세스에 할당된 물리적 메모리의 양입니다.

가비지 컬렉션 메트릭

.NET Garbage 수집기는 백그라운드에서 실행되며 애플리케이션에서 더 이상 참조하지 않는 개체에 연결된 메모리를 식별하고 회수하는 역할을 합니다. 다음 메트릭은 개체 할당 패턴 및 잠재적인 초과 할당 시나리오를 식별하는 데 유용할 수 있습니다. 이 문서에서는 .NET의 가비지 수집에 대한 기본 사항을 추가로 설명합니다.

가비지 컬렉션 메트릭은 다음에 대해 사용할 수 있습니다.

  • .NET Framework의 모든 버전
  • .NET Core 3.0 이상.

중요

.NET Framework 응용 프로그램의 경우 응용 프로그램이 실행되는 Windows 사용자는 Windows 성능 카운터 데이터에 액세스할 수 있어야 합니다. 일반적으로 "성능 모니터 사용자" 및 "성능 로그 사용자" 그룹에 사용자를 추가하면 됩니다. 권한이 충분하지 않으면 에이전트가 가비지 수집 메트릭을 수집하지 않습니다.

전체 측정항목

또한 다음 가비지 컬렉션 메트릭이 수집됩니다.

  • GC/핸들
    개체에 대한 참조 수입니다.
  • GC/유도
    일반적으로 런타임은 가비지 수집을 자동으로 수행합니다. 이 측정항목은 애플리케이션 코드 내에서 GC.Collect 에 대한 명시적 호출에 의해 가비지 컬렉션이 수동으로 호출된 횟수를 식별합니다.
  • GC/PercentTimeInGC (.NET Framework만 해당)
    마지막 가비지 수집 주기 이후 .NET 런타임이 가비지 수집을 수행하는 데 소요한 경과 시간의 백분율입니다.

세대 - 0 힙

다음 GC Gen0 메트릭이 수집됩니다.

  • GC/Gen0/크기
    0세대에서 할당할 수 있는 메모리 양(MB)입니다. 이것은 0세대에서 사용 중인 메모리 양이 아니라 할당 가능한 최대 메모리 양을 나타냅니다.
  • GC/Gen0/승격
    가비지 수집에서 살아남고 Gen0에서 Gen1으로 승격된 메모리 양(MB)입니다. 메모리는 활성 참조가 있을 때 가비지 수집에서 살아남습니다.
  • GC/Gen0/컬렉션
    가비지 수집기가 0세대 가비지 수집을 실행한 횟수입니다.

세대 - 1 힙

다음 GC Gen1 측정항목이 수집됩니다.

  • GC/Gen1/크기
    1세대 힙에서 사용되는 메모리 양(MB)입니다. 이것은 0세대 힙에 사용할 수 있는 최대 메모리 양을 측정하는 Gen0/Size와 다릅니다.
  • GC/Gen1/승격
    가비지 수집에서 살아남고 Gen1에서 Gen2로 승격된 메모리 양(MB)입니다. 메모리는 활성 참조가 있을 때 가비지 수집에서 살아남습니다.
  • GC/Gen1/컬렉션
    가비지 수집기가 1세대 가비지 수집을 실행한 횟수입니다.

세대 - 2 힙

다음 GC Gen2 메트릭이 수집됩니다.

  • GC/2세대/크기
    Gen2 힙에서 사용 중인 메모리 양(MB)입니다.
  • GC/Gen2/Survived (.NET Core 전용)
    가비지 수집에서 살아남은 메모리 양(MB)입니다. 메모리는 활성 참조가 있을 때 가비지 수집에서 살아남습니다. Gen0 및 Gen1과 달리 가비지 수집에서 살아남은 메모리는 승격 되지 않습니다 .
  • GC/Gen2/컬렉션
    가비지 수집기가 2세대 가비지 수집을 실행한 횟수입니다.

LOH(대형 개체 힙)

다음 GC LOH 메트릭이 수집됩니다.

  • GC/LOH/크기
    LOH(대형 개체 힙)에서 사용 중인 메모리 양(MB)입니다. .NET Core에서 대형 개체 힙은 때때로 Gen3라고도 합니다.
  • GC/LOH/Survived (.NET Core 전용) 가비지 수집에서 살아남은 메모리 양(MB)입니다. 메모리는 활성 참조가 있을 때 가비지 수집에서 살아남습니다. Gen0 및 Gen1과 달리 가비지 수집에서 살아남은 메모리는 승격 되지 않습니다 .

관리 스레드 풀 메트릭

.NET 런타임은 스레드 풀을 관리합니다. 다음 메트릭은 스레드 풀 측면에서 애플리케이션 성능에 대한 가시성을 제공하고 스레드 풀 기아 영역을 식별하는 데 도움이 될 수 있습니다. 스레드 풀 기아/경합은 응용 프로그램의 요청을 처리하는 데 사용할 수 있는 스레드가 충분하지 않을 때 발생합니다. 다음 문서에서는 관리되는 스레드 풀의 다양한 기능에 대해 설명합니다. 이러한 메트릭에는 스레드 풀에서 관리하지 않는 스레드에 대한 정보가 포함되지 않습니다.

작업자 스레드

작업자 스레드는 프로세스를 대신하여 작업을 수행하는 데 사용되는 CPU 바운드 스레드입니다.

  • 스레드 풀/작업자/사용 가능
    프로세스에서 사용할 수 있는 관리되는 스레드의 수를 식별합니다. 지속적으로 낮은 숫자는 잠재적인 기아 시나리오를 나타냅니다.
  • 스레드 풀/작업자/사용 중
    프로세스에서 현재 사용 중인 작업자 스레드 수를 식별합니다.

완료 스레드

I/O 스레드라고도 하는 완료 스레드는 I/O 작업의 완료를 모니터링하는 데 사용됩니다.

  • 스레드 풀/완료/사용 가능
    이 메트릭은 현재 프로세스에서 사용할 수 있는 스레드 수를 식별합니다. 지속적으로 낮은 숫자는 잠재적인 기아 시나리오를 나타냅니다.
  • 스레드 풀/완료/사용 중
    이 측정 단위는 현재 프로세스에서 사용 중인 완료 스레드 수를 식별합니다.

처리량

처리량 메트릭은 다른 스레드에서 수행하도록 요청된 작업의 양, 시작된 작업의 양, 스레드 풀 리소스를 사용할 수 있을 때까지 대기 중인 작업의 양을 측정합니다.

  • 스레드 풀/처리량/요청
    작업이 다른 스레드 풀 관리 스레드에서 실행되도록 요청된 횟수를 식별합니다.
  • 스레드 풀/처리량/시작됨
    실행을 시작한 별도의 스레드에서 실행하도록 요청된 작업 항목의 수를 식별합니다.
  • 스레드 풀/처리량/대기열 길이
    요청되었지만 시작 대기 중인 작업 항목의 수를 식별합니다. 지속적으로 증가하는 숫자는 잠재적인 스레드 풀 기아 상황을 나타냅니다. 다음 문서에서는 응용 프로그램에서 사용할 수 있는 스레드 수를 수정하는 방법을 설명합니다.
Copyright © 2024 New Relic Inc.

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