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

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

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

문제 신고

.NET 성능 메트릭

뉴렐릭의 .NET 에이전트는 .NET 런타임에서 귀하의 성능에 대한 지표를 수집합니다. 이러한 지표는 CPU 및 메모리가 소비하는 양은 물론, 디자인의 성능이 가비지 수집 및 스레드 풀 리소스 경합으로 인해 어떤 영향을 받을 수 있는지에 대한 인사이트를 제공할 수 있습니다.

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

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

CPU 메트릭

다음 CPU 지표가 수집됩니다.

CPU/User/Utilization

이 프로세스에서 소비되는 CPU 비율입니다.

CPU/User Time

프로세스가 애플리케이션 코드를 실행하는 데 소비한 시간입니다.

메모리 메트릭

다음 메모리 지표가 수집됩니다:

Memory/Physical

프로세스에 할당된 전용(물리적) 메모리의 양(MB)입니다.

Memory/WorkingSet

프로세스에 할당된 실제 메모리의 양입니다.

가비지 컬렉션 메트릭

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

중요

.NET 프레임워크 기능의 경우, 귀하가 실행하는 Windows 사용자는 Windows 성능 카운터 데이터에 액세스할 수 있어야 합니다. 일반적으로 이는 사용자를 Performance Monitor UsersPerformance Log Users 그룹에 추가하여 수행됩니다. 권한이 충분하지 않으면 에이전트가 가비지 수집 지표를 수집하지 못하게 됩니다.

전체 측정항목

또한 다음과 같은 가비지 컬렉션 지표가 수집됩니다.

GC/Handles

객체에 대한 참조 수입니다.

GC/Induced

일반적으로 런타임은 가비지 수집을 자동으로 수행합니다. 이 지표는 로그 내에서

GC.Collect

에 대한 명시적인 호출을 통해 가비지 컬렉션이 수동으로 호출된 횟수를 식별합니다.

GC/PercentTimeInGC

(.NET 프레임워크만 해당)

마지막 가비지 수집 주기 이후 .NET 런타임이 가비지 수집을 수행하는 데 소요한 경과 시간의 비율입니다.

세대 - 0 힙

다음과 같은 가비지 수집 Gen0 지표가 수집됩니다.

GC/Gen0/Size

0세대에서 할당

할 수 있는

메모리 양(MB)입니다. 이는 0세대에서

사용

중인 메모리 양이 아니라 할당할 수 있는 최대 메모리 양을 나타냅니다.

GC/Gen0/Promoted

가비지 수집에서 살아남고 Gen0에서 Gen1로 승격된 메모리 양(MB)입니다. 메모리에 대한 활성 참조가 있으면 메모리는 가비지 수집 후에도 유지됩니다.

GC/Gen0/Collections

가비지 수집기가 0세대 가비지 수집을 실행한 횟수입니다.

세대 - 1 힙

다음과 같은 가비지 수집 Gen1 지표가 수집됩니다.

GC/Gen1/Size

1세대 힙에

사용되는

메모리 양(MB)입니다. 이는 0세대 힙에

사용할 수 있는

최대 메모리 양을 측정하는

Gen0/Size

와 다릅니다.

GC/Gen1/Promoted

가비지 수집에서 살아남고 Gen1에서 Gen2로 승격된 메모리 양(MB)입니다. 메모리에 대한 활성 참조가 있으면 메모리는 가비지 수집 후에도 유지됩니다.

GC/Gen1/Collections

가비지 수집기가 1세대 가비지 수집을 실행한 횟수입니다.

세대 - 2 힙

다음과 같은 가비지 수집 Gen2 지표가 수집됩니다.

GC/Gen2/Size

Gen2 힙에서

사용

중인 메모리 양(MB)입니다.

GC/Gen2/Survived

(.NET Core만 해당)

가비지 수집에서 살아남은 메모리 양(MB)입니다. 메모리에 대한 활성 참조가 있으면 메모리는 가비지 수집 후에도 유지됩니다. Gen0 및 Gen1과 달리 가비지 수집 후에도 유지되는 메모리는 승격되지

않습니다

.

GC/Gen2/Collections

가비지 수집기가 2세대 가비지 수집을 실행한 횟수입니다.

LOH(대형 개체 힙)

수집되는 가비지 컬렉션 LOH 지표는 다음과 같습니다.

GC/LOH/Size

LOH(대형 개체 힙)에서

사용

중인 메모리 양(MB)입니다. .NET Core에서는 대형 개체 힙을 Gen3이라고도 합니다.

GC/LOH/Survived

(.NET Core만 해당)

가비지 수집에서 살아남은 메모리 양(MB)입니다. 메모리에 대한 활성 참조가 있으면 메모리는 가비지 수집 후에도 유지됩니다. Gen0 및 Gen1과 달리 가비지 수집 후에도 유지되는 메모리는 승격되지

않습니다

.

관리 스레드 풀 메트릭

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

작업자 스레드

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

Threadpool/Worker/Available

프로세스에 사용 가능한 관리되는 스레드 수를 식별합니다. 지속적으로 낮은 숫자는 잠재적인 기아 시나리오를 나타냅니다.

Threadpool/Worker/InUse

현재 프로세스에서 사용 중인 작업자 스레드 수를 식별합니다.

완료 스레드

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

Threadpool/Completion/Available

이 지표는 현재 프로세스에 사용 가능한 스레드 수를 식별합니다. 지속적으로 낮은 숫자는 잠재적인 기아 시나리오를 나타냅니다.

Threadpool/Completion/InUse

이 지표는 현재 프로세스에서 사용 중인 완료 스레드 수를 식별합니다.

처리량

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

Threadpool/Throughput/Requested

다른 스레드 풀 관리 스레드에서 작업이 실행되도록 요청된 횟수를 식별합니다.

Threadpool/Throughput/Started

실행을 시작한 별도의 스레드에서 실행하도록 요청된 작업 항목 수를 식별합니다.

Threadpool/Throughput/QueueLength

요청되었지만 시작 대기 중인 작업 항목 수를 식별합니다. 지속적으로 증가하는 숫자는 잠재적인 스레드 풀 부족 상황을 나타냅니다. 다음

문서에서는

애플리케이션에 사용할 수 있는 스레드 수를 수정하는 방법을 설명합니다.

Copyright © 2024 New Relic Inc.

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