비고
이 기사는 최신 버전이 아닙니다. 현재 릴리스에 대해서는 본 기사의 .NET 9 버전을 참조하십시오.
경고
이 버전의 ASP.NET Core는 더 이상 지원되지 않습니다. 자세한 내용은 .NET 및 .NET Core 지원 정책을 참조하세요. 현재 릴리스에 대해서는 본 기사의 .NET 9 버전을 참조하십시오.
중요합니다
이 정보는 사전 출시 제품과 관련이 있으며, 상업적으로 출시되기 전에 상당히 수정될 수 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
현재 릴리스에 대해서는 본 기사의 .NET 9 버전을 참조하십시오.
Blazor는 가장 현실적인 애플리케이션 UI 시나리오에서 고성능을 구현하도록 최적화되어 있습니다. 그러나 최상의 성능을 위해서는 개발자가 적합한 패턴과 기능을 채택해야 합니다.
비고
이 문서 노드의 코드 예제는 NRT(nullable 참조 형식) 및 .NET 컴파일러 null 상태 정적 분석을 채택하며, 이는 .NET 6 이상의 ASP.NET Core에서 지원됩니다.
AOT(Ahead-Of-Time) 컴파일
AOT(Ahead-of-Time) 컴파일은 앱의 .NET 코드를 네이티브 WebAssembly로 변환하여 브라우저가 직접 실행할 수 있도록 Blazor 컴파일합니다. AOT 컴파일 앱을 사용하면 다운로드하는 데 더 많은 시간이 소요되지만 AOT 컴파일된 앱, 특히 CPU 집약적 작업을 실행하는 앱의 경우, 일반적으로 더 나은 런타임 성능을 제공합니다. 자세한 내용은 ASP.NET Core Blazor WebAssembly 빌드 도구 및 AOT(Ahead-Of-Time) 컴파일을 참조하세요.
메트릭 및 추적
메트릭 및 추적 기능은 앱 성능을 모니터링 및 진단하고, 사용자 상호 작용을 추적하고, 프로덕션 환경의 구성 요소 동작을 이해하는 데 도움이 됩니다.
구성 / 설정
앱에서 Blazor 메트릭 및 추적을 활성화하려면, 서비스가 등록된 앱의 파일에서 다음과 같은 미터 및 활동 소스를 사용하여 Program
를 구성합니다.
builder.Services.ConfigureOpenTelemetryMeterProvider(meterProvider =>
{
meterProvider.AddMeter("Microsoft.AspNetCore.Components");
meterProvider.AddMeter("Microsoft.AspNetCore.Components.Lifecycle");
meterProvider.AddMeter("Microsoft.AspNetCore.Components.Server.Circuits");
});
builder.Services.ConfigureOpenTelemetryTracerProvider(tracerProvider =>
{
tracerProvider.AddSource("Microsoft.AspNetCore.Components");
});
성능 미터
다음 성능 미터에 대한 자세한 내용은 ASP.NET Core 기본 제공 메트릭을 참조하세요.
Microsoft.AspNetCore.Components
미터:
-
aspnetcore.components.navigation
: 앱의 총 경로 변경 횟수를 추적합니다. -
aspnetcore.components.event_handler
: 비즈니스 논리를 포함하여 브라우저 이벤트를 처리하는 기간을 측정합니다.
Microsoft.AspNetCore.Components.Lifecycle
미터:
-
aspnetcore.components.update_parameters
: 비즈니스 논리를 포함하여 구성 요소 매개 변수 처리 기간을 측정합니다. -
aspnetcore.components.render_diff
: 렌더링 일괄 처리 기간을 추적합니다.
Microsoft.AspNetCore.Components.Server.Circuits
미터:
서버 쪽 Blazor 앱에서 회로별 추가 메트릭은 다음과 같습니다.
-
aspnetcore.components.circuit.active
: 현재 메모리에 있는 활성 회로 수를 표시합니다. -
aspnetcore.components.circuit.connected
: 클라이언트에 연결된 회로 수를 추적합니다. -
aspnetcore.components.circuit.duration
: 회로 수명 기간을 측정하고 총 회로 수를 제공합니다.
Blazor 추적
다음 추적 활동에 대한 자세한 내용은 ASP.NET Core 기본 제공 메트릭을 참조하세요.
새 활동 추적 기능은 활동 원본을 사용 Microsoft.AspNetCore.Components
하며 회로 수명 주기, 탐색 및 이벤트 처리의 세 가지 주요 유형의 추적 작업을 제공합니다.
회로 수명 주기 추적:
Microsoft.AspNetCore.Components.CircuitStart
: 형식 Circuit {circuitId}
을 사용하여 회로 초기화를 추적합니다.
- 태그:
aspnetcore.components.circuit.id
- 링크: HTTP 활동
탐색 추적:
Microsoft.AspNetCore.Components.RouteChange
: 형식 Route {route} -> {componentType}
을 사용하여 경로 변경 내용을 추적합니다.
- 태그
aspnetcore.components.circuit.id
aspnetcore.components.route
aspnetcore.components.type
- 링크
- HTTP 추적
- 회로 추적
이벤트 처리 추적:
Microsoft.AspNetCore.Components.HandleEvent
: 형식 Event {attributeName} -> {componentType}.{methodName}
을 사용하여 이벤트 처리를 추적합니다.
- 태그
aspnetcore.components.attribute.name
aspnetcore.components.circuit.id
aspnetcore.components.method
aspnetcore.components.type
error.type
- 링크
- HTTP 추적
- 회로 추적
- 라우터 추적
ASP.NET Core