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

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

In the event of any inconsistency between the English version and the translated version, the English versionwill take priority. Please visit this page for more information.

문제 신고

.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.