클라이언트 쪽 성능 추적 만들기

Azure Remote Rendering의 성능이 원하는 만큼 좋지 않을 수 있는 여러 가지 이유가 있습니다. 클라우드 서버의 순수 렌더링 성능 외에 특히 네트워크 연결의 품질은 환경에 상당한 영향을 미칩니다. 서버 성능을 프로파일링하려면 서버 쪽 성능 쿼리 챕터를 참조하세요.

이 장에서는 다음을 통해 잠재적인 클라이언트 쪽 병목 상태를 식별하는 방법에 중점을 둡니다. performance traces.

시작하기

Windows performance tracing 기능을 처음 사용하는 경우 이 섹션에서는 시작하는 데 도움이 되는 가장 기본적인 용어와 애플리케이션을 설명합니다.

설치

ARR(Azure Remote Rendering)을 사용하여 추적을 수행하는 데 사용되는 애플리케이션은 모든 Windows 개발에 사용할 수 있는 범용 도구입니다. 이는 Windows Performance Toolkit를 통해 제공됩니다. 이 도구 키트를 얻으려면 Windows 평가 및 배포 키트를 다운로드하세요.

용어

다양한 용어는 성능 추적에 대해 이야기할 때 중요합니다. 가장 중요한 용어는 다음과 같습니다.

  • Event Tracing for Windows (ETW)
    ETW 는 Windows에 기본 제공되는 효율적인 커널 수준 추적 기능의 가장 중요한 이름입니다. ETW를 지원하는 애플리케이션은 성능 문제, 즉 이름 이벤트 추적을 추적하는 데 도움이 될 수 있는 로그 작업에 이벤트를 내보냅니다. 기본적으로 운영 체제는 디스크 액세스, 작업 스위치 등과 같은 항목에 대한 이벤트를 이미 내보냅니다. ARR과 같은 애플리케이션은 사용자 지정 이벤트(예: 삭제된 프레임, 네트워크 지연 등)를 추가로 내보냅니다.

  • Event Trace Logging(ETL)
    ETL 은 수집된(기록된) 추적을 설명하므로 일반적으로 추적 데이터를 저장하는 파일의 파일 확장자로 사용됩니다. 따라서 추적을 수행할 때 일반적으로 나중에 *.etl 파일이 있습니다.

  • WDows Performance Recorder(WPR)
    WPR 은 이벤트 추적 기록을 시작하고 중지하는 애플리케이션의 이름입니다. WPR은 기록할 정확한 이벤트를 구성하는 프로필 파일(*.wprp)을 사용합니다. 이러한 wprp 파일은 ARR SDK와 함께 제공됩니다. 데스크톱 PC에서 추적을 수행할 때 WPR을 직접 시작할 수 있습니다. HoloLens에서 추적을 수행할 때는 일반적으로 웹 인터페이스를 통해 수행합니다.

  • Windows Performance Analyzer (WPA)
    WPA는 *.etl 파일을 열고 데이터를 검색하여 성능 문제를 식별하는 데 사용되는 GUI 애플리케이션의 이름입니다. WPA를 사용하면 다양한 조건에 따라 데이터를 정렬하고, 여러 가지 방식으로 데이터를 표시하고, 세부 정보를 확인하고, 정보를 상호 연결할 수 있습니다

  • Perfetto
    Perfetto 는 Android 및 Linux용 시스템 프로파일링 및 애플리케이션 추적 도구로, Android 9 Pie부터 사용할 수 있습니다. Perfetto는 v27 OS부터 Meta Quest 및 Quest 2 디바이스(개발자 모드가 사용하도록 설정된 경우)에서도 사용하도록 설정됩니다. Perfetto Trace Viewer UI를 사용하여 결과 Perfetto 추적을 열고 분석할 수 있습니다.

ETL 추적은 모든 Windows 디바이스(로컬 PC, HoloLens, 클라우드 서버 등)에서 만들 수 있지만 일반적으로 디스크에 저장되고 데스크톱 PC에서 WPA를 사용하여 분석됩니다. ETL 파일을 다른 개발자가 확인할 수 있도록 전송할 수 있습니다. ETL 추적에는 파일 경로 및 IP 주소와 같은 중요한 정보가 포함될 수 있습니다. ETW는 추적을 기록하거나 추적을 분석하는 두 가지 방법으로 사용할 수 있습니다. 추적 기록은 매우 간단하며 최소한의 설정으로 가능합니다. 반면 추적 분석은 WPA 도구와 조사 중인 문제에 대한 적절한 이해가 있어야 합니다. WPA 학습을 위한 일반 자료와 ARR 관련 추적을 해석하는 방법에 대한 지침이 나중에 제공됩니다.

로컬 PC에서 추적 기록

PC에서 추적을 사용하여 도구에 익숙해지거나 HoloLens의 하드웨어 제한 사항이 관련이 없는 문제가 있는 경우 그렇지 않으면 HoloLens 섹션에서 추적 기록으로 건너뛸 수 있습니다. 특히 ARR 성능 문제는 HoloLens에서 직접 추적해야 합니다.

WPR 구성

  1. 시작 메뉴에서 Windows Performance Recorder를 시작합니다.
  2. 추가 옵션을 확장 합니다.
  3. 프로필 추가를 선택합니다...
  4. AzureRemoteRenderingNetworkProfiling.wprp 파일을 선택합니다. 이 파일은 ARR SDK의 Tools/ETLProfiles에서 찾을 수 있습니다. 프로필은 사용자 지정 측정에 따라 WPR에 나열됩니다. 유일하게 사용하도록 설정된 프로필인지 확인합니다.
  5. 첫 번째 수준 심사를 확장 합니다.
    • ARR 네트워킹 이벤트의 신속한 추적을 캡처하려면 이 옵션을 비활성화합니다.
    • CPU 또는 메모리 사용량과 같은 다른 시스템 특성과 ARR 네트워크 이벤트를 상호 연결해야 하는 경우 이 옵션을 활성화합니다.
    • 이 옵션을 사용하도록 설정된 추적은 크기가 여러 기가바이트일 가능성이 높으며 WPA에서 저장하고 여는 데 시간이 오래 걸릴 수 있습니다.

이후 WPR 구성은 다음과 같이 표시됩니다.

Screenshot of the Windows Performance Recorder with a selected AzureRemoteRenderingNetworkProfiling profile.

녹음/녹화

추적 기록을 시작하려면 시작을 선택합니다. 언제든지 기록을 시작하고 중지할 수 있으며 이 작업을 수행하기 전에 애플리케이션을 종료할 필요가 없습니다. ETW는 전체 시스템에 대한 추적을 기록하므로 추적할 애플리케이션을 지정할 필요가 없습니다. wprp 파일은 기록할 이벤트 유형을 지정합니다.

저장을 선택하여 기록을 중지하고 ETL 파일을 저장할 위치를 지정합니다.

이제 WPA에서 열 수 있는 ETL 파일이 생겼습니다.

HoloLens에서 추적 기록

HoloLens에서 추적을 기록하려면 디바이스를 부팅하고 브라우저에 해당 IP 주소를 입력하여 디바이스 포털을 엽니다.

Screenshot of the Performance Tracing webpage in the HoloLens Device Portal.

  1. 왼쪽에서 성능 > 성능 추적으로 이동합니다.
  2. 사용자 지정 프로필을 선택합니다.
  3. Browse...를 선택합니다.
  4. AzureRemoteRenderingNetworkProfiling.wprp 파일을 선택합니다. 이 파일은 ARR SDK의 Tools/ETLProfiles에서 찾을 수 있습니다.
  5. 추적 시작을 선택합니다.
  6. 이제 HoloLens가 추적을 기록합니다. 조사하려는 성능 문제를 트리거해야 합니다. 그런 다음 추적 중지를 선택합니다.
  7. 그러면 웹 페이지 하단에 추적이 나열됩니다. ETL 파일을 다운로드하려면 오른쪽에서 디스크 아이콘을 선택합니다.

이제 WPA에서 열 수 있는 ETL 파일이 생겼습니다.

Meta Quest 디바이스에서 추적 기록

Quest에 대한 추적을 기록하려면 adb 명령줄 도구가 필요합니다.

  1. Quest에서 개발자 모드가 사용하도록 설정되어 있는지 확인합니다.
  2. adb devices를 실행하고 디바이스가 목록에 있는지 확인하여 adb가 디바이스에 액세스할 수 있도록 권한 부여되었는지 확인합니다.
  3. Tools/ETLProfiles 아래 ARR SDK에서 추적 구성 파일 AzureRemoteRenderingPerfetto.txt 파일을 찾습니다.
    • 기본적으로 추적 구성은 30초 동안 실행되도록 설정됩니다. 이 구성은 AzureRemoteRenderingPerfetto.txt 파일에서 duration_ms: 30000 값을 편집하여 편집할 수 있습니다.
  4. PowerShell에서 실행 $config = cat "AzureRemoteRenderingPerfetto.txt" | adb shell perfetto -c - $config --txt --o "/data/misc/perfetto-traces/trace"합니다.
  5. 이 줄과 비슷한 출력이 표시됩니다.
    [522.149] perfetto_cmd.cc:825     Connected to the Perfetto traced service, TTL: 30s
    
  6. Quest 디바이스가 이제 추적을 기록하고 있습니다. 애플리케이션을 시작하고 조사하려는 문제를 트리거합니다.
  7. 추적 기록이 완료되면 이 줄과 유사한 출력이 표시됩니다.
    [552.637] perfetto_cmd.cc:946     Trace written into the output file
    
  8. 마지막으로 , 를 실행 adb pull "/data/misc/perfetto-traces/trace" "outputTrace.pftrace"하여 디바이스에서 파일을 끌어올 수 있습니다.

이제 Perfetto Trace Viewer UI에서 열 수 있는 Perfetto 추적 파일이 생겼습니다.

WPA를 사용하여 추적 분석

WPA 기본 사항

Windows 성능 분석기는 ETL 파일을 열고 추적을 검사하는 표준 도구입니다. WPA 작동 방법에 대한 설명은 이 문서의 범위에 포함되지 않습니다. 시작하려면 다음 리소스를 살펴보세요.

  • 첫 번째 개요는 소개 비디오를 시청하세요.
  • 일반적인 단계를 설명하는 WPA 자체의 시작 탭을 살펴봅니다. 제공되는 문서를 살펴봅니다. 특히 "데이터 보기"에서 특정 데이터에 대한 그래프 작성 방법에 대한 간략한 소개를 볼 수 있습니다.
  • 이 웹 사이트에 우수한 정보를 통해 봐, 그러나, 그것의 모든 초보자에 대 한 관련.

그래프 데이터

ARR 추적을 시작하려면 다음 부분을 잘 알고 있어야 합니다.

Screenshot of an example graph in the Windows Performance Analyzer tool.

이미지는 추적 데이터의 테이블과 동일한 데이터의 그래프 표현을 보여줍니다.

아래쪽에 있는 테이블에서 노란색(골드) 표시줄과 파란색 표시줄에 주목합니다. 이러한 표시줄을 끌어 임의의 위치에 배치할 수 있습니다.

노란색 표시줄의 왼쪽에 있는 모든 열로 해석됩니다. 키를 사용하여 왼쪽 위 창에서 트리를 구성할 수 있습니다. 여기에는 "공급자 이름" 및 "작업 이름"이라는 두 개의 열이 있습니다. 따라서 왼쪽 위 창의 트리 구조는 두 수준 깊이입니다. 열의 순서를 변경하거나 키 영역에서 열을 추가하거나 제거하면 트리 뷰의 구조가 변경됩니다.

파란색 표시줄 오른쪽의 열은 오른쪽 상단 창의 그래프 표시에 사용됩니다. 대부분의 경우 첫 번째 열만 사용되지만 일부 그래프 모드에서는 데이터 열이 여러 개 필요합니다. 선 그래프가 작동하려면 해당 열에서 집계 모드를 설정해야 합니다. 'Avg' 또는 'Max'를 사용합니다. 픽셀이 여러 이벤트가 있는 범위를 포함하는 경우 집계 모드를 사용하여 지정된 픽셀에서 그래프의 값을 확인합니다. 집계를 'Sum'으로 설정한 다음 확대/축소하여 이 속성을 관찰할 수 있습니다.

중간의 열은 특별한 의미가 없습니다.

Screenshot of the Generic Events View Editor in the Windows Performance Analyzer tool.

일반 이벤트 뷰 편집기에서 표시할 모든 열, 집계 모드, 정렬 및 키로 사용되는 열, 그래프로 표시할 열을 구성할 수 있습니다. 예제 이미지 에서 필드 2 가 활성화되고 필드 3 - 6이 비활성화됩니다. Field 2는 일반적으로 ETW 이벤트의 첫 번째 사용자 지정 데이터 필드이므로 일부 네트워크 대기 시간 값을 나타내는 ARR "FrameStatistics" 이벤트에 대한 필드입니다. 이 이벤트의 추가 값을 보려면 다른 "Field" 열을 사용하도록 설정합니다.

기본 설정

추적을 제대로 분석하려면 고유한 워크플로 및 기본 데이터 표시를 파악해야 합니다. 하지만 ARR 관련 이벤트에 대한 간략한 개요를 얻을 수 있도록 Tools/ETLProfiles 폴더에 사전 설정 파일 및 Windows 소프트웨어 보호 플랫폼이 포함되어 있습니다. 전체 프로필을 로드하려면 WPA 메뉴 모음에서 프로필 > 적용...을 선택하거나 내 기본 설정 패널(창 > 내 기본 설정)을 열고 가져오기를 선택합니다. 전자는 이 단락 아래 이미지와 같이 전체 WPA 구성을 설정합니다. 후자는 사용 가능한 다양한 보기 구성에 대한 기본 설정만 만들고 뷰를 빠르게 열어서 ARR 이벤트 데이터의 특정 부분을 확인할 수 있도록 합니다.

Screenshot of the Windows Performance Analyzer tool with the ARR presets applied.

이미지는 다양한 ARR 관련 이벤트의 보기와 전체 CPU 사용률 보기를 보여 줍니다.

다음 단계