Udostępnij za pośrednictwem


Tworzenie śladów wydajności po stronie klienta

Istnieje wiele powodów, dla których wydajność usługi Azure Remote Rendering może nie być tak dobra, jak to konieczne. Oprócz czystej wydajności renderowania na serwerze w chmurze, zwłaszcza jakość połączenia sieciowego ma znaczący wpływ na środowisko. Aby profilować wydajność serwera, zapoznaj się z rozdziałem Zapytania wydajności po stronie serwera.

W tym rozdziale opisano sposób identyfikowania potencjalnych wąskich gardeł po stronie klienta performance traces.

Wprowadzenie

Jeśli dopiero zaczynasz korzystać z funkcji systemu Windows performance tracing , w tej sekcji wymieniono najbardziej podstawowe terminy i aplikacje, które ułatwią Ci rozpoczęcie pracy.

Instalacja

Aplikacje używane do śledzenia za pomocą usługi Azure Remote Rendering (ARR) to narzędzia ogólnego przeznaczenia, które mogą być używane do wszystkich programowania w systemie Windows. Są one udostępniane za pośrednictwem zestawu narzędzi Windows Performance Toolkit. Aby uzyskać ten zestaw narzędzi, pobierz zestaw Windows Assessment and Deployment Kit.

Terminologia

Zakres terminów jest ważny podczas mówienia o śladach wydajności. Najważniejsze są następujące:

  • Event Twyścigi dla Windows (ETW)
    ETW to nadrzędna nazwa wydajnego śledzenia na poziomie jądra wbudowanego w system Windows. Aplikacje obsługujące etW emitują zdarzenia w celu rejestrowania akcji, które mogą pomóc w śledzeniu problemów z wydajnością, w związku z czym nazywa się śledzenie zdarzeń . Domyślnie system operacyjny emituje zdarzenia dotyczące takich elementów jak dostęp do dysku, przełączniki zadań i takie. Aplikacje, takie jak ARR, dodatkowo emitują zdarzenia niestandardowe, na przykład o porzuconych ramkach, opóźnionej sieci itp.

  • Event Trace Logging (ETL)
    EtL opisuje zebrany (zarejestrowany) ślad i dlatego jest zwykle używany jako rozszerzenie pliku dla plików, które przechowują dane śledzenia. W związku z tym podczas śledzenia zazwyczaj występuje plik *.etl .

  • Windows Performance Recorder (WPR)
    Funkcja WPR to nazwa aplikacji, która uruchamia i zatrzymuje rejestrowanie śladów zdarzeń. Funkcja WPR pobiera plik profilu (*.wprp), który konfiguruje, które dokładnie zdarzenia mają być rejestrowane. wprp Taki plik jest dostarczany z zestawem ARR SDK. Podczas śledzenia na komputerze stacjonarnym można uruchamiać bezpośrednie resetowanie hasła. Podczas śledzenia urządzenia HoloLens zwykle przechodzisz przez interfejs internetowy.

  • Windows Performance Analyzer (WPA)
    WPA to nazwa aplikacji graficznego interfejsu użytkownika, która służy do otwierania plików *.etl i przesiewania danych w celu zidentyfikowania problemów z wydajnością. Usługa WPA pozwala sortować dane według różnych kryteriów, wyświetlać dane na kilka sposobów, zagłębiać się w szczegóły i korelować informacje.

  • Perfetto
    Perfetto to narzędzie do profilowania systemu i śledzenia aplikacji dla systemów Android i Linux, które jest dostępne od systemu Android 9 Pie. Narzędzie Perfetto jest również włączone na urządzeniach Meta Quest i Quest 2 (gdy tryb dewelopera jest włączony), ponieważ system operacyjny v27. Interfejs użytkownika narzędzia Perfetto Trace Viewer umożliwia otwieranie i analizowanie wynikowych śladów perfetto.

Chociaż ślady ETL można tworzyć na dowolnym urządzeniu z systemem Windows (lokalnym komputerze, urządzeniu HoloLens, serwerze w chmurze itp.), są one zwykle zapisywane na dysku i analizowane przy użyciu usługi WPA na komputerze stacjonarnym. Pliki ETL można wysyłać do innych deweloperów, aby wyglądały. Ślady ETL mogą zawierać poufne informacje, takie jak ścieżki plików i adresy IP. Funkcji ETW można używać na dwa sposoby: do rejestrowania śladów lub analizowania śladów. Rejestrowanie śladów jest proste i wymaga minimalnej konfiguracji. Analizowanie śladów z drugiej strony wymaga przyzwoitego zrozumienia zarówno narzędzia WPA, jak i problemu, który badasz. Ogólny materiał do nauki WPA jest podawany później i wskazówki dotyczące interpretowania śladów specyficznych dla ARR.

Rejestrowanie śledzenia na komputerze lokalnym

Użyj śladów na komputerze, aby zapoznać się z narzędziami lub jeśli masz problem polegający na tym, że ograniczenia sprzętowe urządzenia HoloLens nie są istotne. W przeciwnym razie możesz przejść do sekcji Rejestrowanie śledzenia na urządzeniu HoloLens . Szczególnie problemy z wydajnością usługi ARR powinny być śledzone bezpośrednio na urządzeniu HoloLens.

Konfiguracja funkcji WPR

  1. Uruchom polecenie Windows Performance Recorder z menu Start.
  2. Rozwiń pozycję Więcej opcji.
  3. Wybierz pozycję Dodaj profile....
  4. Wybierz plik AzureRemoteRenderingNetworkProfiling.wprp. Ten plik można znaleźć w zestawie ARR SDK w obszarze Narzędzia/ETLProfiles. Profil znajduje się na liście WPR w obszarze Miary niestandardowe. Upewnij się, że jest to jedyny włączony profil.
  5. Rozwiń węzeł Klasyfikacja pierwszego poziomu.
    • Jeśli wszystko, co chcesz zrobić, to przechwycenie szybkiego śledzenia zdarzeń sieciowych ARR, wyłącz tę opcję.
    • Jeśli musisz skorelować zdarzenia sieciowe ARR z innymi cechami systemu, takimi jak użycie procesora CPU lub pamięci, włącz tę opcję.
    • Ślady z włączoną tą opcją są najprawdopodobniej wiele gigabajtów w rozmiarze i mogą zająć dużo czasu, aby zapisać i otworzyć w usłudze WPA.

Następnie konfiguracja funkcji WPR powinna wyglądać następująco:

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

Nagrywanie

Wybierz pozycję Rozpocznij, aby rozpocząć rejestrowanie śladu. Nagrywanie można rozpocząć i zatrzymać w dowolnym momencie; Nie musisz zamykać aplikacji przed wykonaniem tej czynności. Jak widać, nie trzeba określać aplikacji do śledzenia, ponieważ funkcja ETW rejestruje ślad dla całego systemu. Plik wprp określa typy zdarzeń do zarejestrowania.

Wybierz pozycję Zapisz , aby zatrzymać nagrywanie i określić miejsce przechowywania pliku ETL.

Masz teraz plik ETL, który można otworzyć w usłudze WPA.

Rejestrowanie śladu na urządzeniu HoloLens

Aby zarejestrować ślad na urządzeniu HoloLens, uruchom urządzenie i wprowadź jego adres IP w przeglądarce, aby otworzyć portal urządzeń.

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

  1. Po lewej stronie przejdź do pozycji Śledzenie wydajności > wydajności.
  2. Wybierz pozycję Profile niestandardowe.
  3. Wybierz opcję Browse....
  4. Wybierz plik AzureRemoteRenderingNetworkProfiling.wprp. Ten plik można znaleźć w zestawie ARR SDK w obszarze Narzędzia/ETLProfiles.
  5. Wybierz pozycję Rozpocznij śledzenie.
  6. Urządzenie HoloLens rejestruje teraz ślad. Pamiętaj, aby wyzwolić problemy z wydajnością, które chcesz zbadać. Następnie wybierz pozycję Zatrzymaj śledzenie.
  7. Ślad jest następnie wyświetlany w dolnej części strony internetowej. Aby pobrać plik ETL, wybierz ikonę dysku po prawej stronie.

Masz teraz plik ETL, który można otworzyć w usłudze WPA.

Rejestrowanie śladu na urządzeniu Meta Quest

Aby zarejestrować ślad w quest, potrzebne jest narzędzie wiersza polecenia adb.

  1. Upewnij się, że tryb dewelopera jest włączony w aplikacji Quest.
  2. Upewnij się, że baza danych adb jest autoryzowana do uzyskiwania dostępu do urządzenia, uruchamiając polecenie adb devices i sprawdzając, czy urządzenie znajduje się na liście.
  3. Znajdź plik konfiguracji śledzenia AzureRemoteRenderingPerfetto.txt pliku z zestawu ARR SDK w obszarze Narzędzia/ETLProfiles.
    • Domyślnie konfiguracja śledzenia jest skonfigurowana do uruchamiania przez 30 sekund. Tę konfigurację można zmodyfikować, edytując duration_ms: 30000 wartość w pliku AzureRemoteRenderingPerfetto.txt .
  4. W programie PowerShell uruchom polecenie $config = cat "AzureRemoteRenderingPerfetto.txt" | adb shell perfetto -c - $config --txt --o "/data/misc/perfetto-traces/trace".
  5. Powinny zostać wyświetlone dane wyjściowe podobne do tego wiersza.
    [522.149] perfetto_cmd.cc:825     Connected to the Perfetto traced service, TTL: 30s
    
  6. Urządzenie Quest rejestruje teraz ślad. Uruchom aplikację i wyzwól problem, który chcesz zbadać.
  7. Po zakończeniu rejestrowania śledzenia powinny zostać wyświetlone dane wyjściowe podobne do tego wiersza.
    [552.637] perfetto_cmd.cc:946     Trace written into the output file
    
  8. Na koniec możesz ściągnąć plik z urządzenia, uruchamiając polecenie adb pull "/data/misc/perfetto-traces/trace" "outputTrace.pftrace".

Masz teraz plik śledzenia narzędzia Perfetto, który można otworzyć w interfejsie użytkownika przeglądarki Perfetto Trace Viewer.

Analizowanie śladów za pomocą usługi WPA

Podstawowe informacje o usłudze WPA

Windows Analizator wydajności to standardowe narzędzie do otwierania plików ETL i sprawdzania śladów. Wyjaśnienie, jak działa WPA, jest poza zakresem tego artykułu. Aby rozpocząć pracę, zapoznaj się z następującymi zasobami:

  • Obejrzyj filmy wprowadzające, aby uzyskać pierwsze omówienie.
  • Zapoznaj się z kartą Wprowadzenie w samej usłudze WPA, która zawiera opis typowych kroków. Zapoznaj się z dostępnymi artykułami. Szczególnie w obszarze "Wyświetl dane" przedstawiono szybkie wprowadzenie do tworzenia grafów dla określonych danych.
  • Zapoznaj się z doskonałymi informacjami na tej stronie, jednak nie wszystkie te informacje są istotne dla początkujących.

Dane grafu

Aby rozpocząć pracę z śledzeniem ARR, warto wiedzieć o następujących elementach.

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

Obraz przedstawia tabelę danych śledzenia i grafową reprezentację tych samych danych.

W tabeli w dolnej części zwróć uwagę na żółty (złoty) pasek i niebieski pasek. Możesz przeciągnąć te słupki i umieścić je w dowolnej pozycji.

Wszystkie kolumny po lewej stronie żółtego paska są interpretowane jako klucze. Klucze służą do tworzenia struktury drzewa w lewym górnym oknie. W tym miejscu mamy dwie kolumny klucza "Nazwa dostawcy" i "Nazwa zadania". Struktura drzewa w lewym górnym oknie jest więc głęboka na dwóch poziomach. Jeśli zmienisz kolejność kolumn lub dodasz lub usuniesz kolumny z obszaru klucza, struktura w widoku drzewa zmieni się.

Kolumny z prawej strony niebieskiego paska są używane do wyświetlania grafu w prawym górnym oknie. W większości przypadków jest używana tylko pierwsza kolumna, ale niektóre tryby grafu wymagają wielu kolumn danych. Aby wykresy liniowe działały, należy ustawić tryb agregacji dla tej kolumny. Użyj opcji "Avg" lub "Max". Tryb agregacji służy do określania wartości grafu w danym pikselu, gdy piksel obejmuje zakres z wieloma zdarzeniami. Tę właściwość można zaobserwować, ustawiając agregację na "Suma", a następnie powiększając i powiększając.

Kolumny w środku nie mają specjalnego znaczenia.

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

W Edytorze widoku zdarzeń ogólnych można skonfigurować wszystkie kolumny do wyświetlenia, tryb agregacji, sortowanie i kolumny są używane jako klucze lub do tworzenia wykresów. Na przykładowym obrazie pole 2 jest włączone, a pole 3 — 6 jest wyłączone. Pole 2 jest zazwyczaj pierwszym niestandardowym polem danych zdarzenia ETW, a tym samym dla zdarzeń ARR "FrameStatistics", które reprezentują pewną wartość opóźnienia sieci. Włącz inne kolumny "Pole", aby wyświetlić dalsze wartości tego zdarzenia.

Ustawienia wstępne

Aby prawidłowo przeanalizować ślad, musisz ustalić własny przepływ pracy i wyświetlić preferowane dane. Jednak aby uzyskać szybki przegląd zdarzeń specyficznych dla ARR, dołączamy profil platformy ochrony oprogramowania systemu Windows i pliki ustawień wstępnych w folderze Tools/ETLProfiles. Aby załadować pełny profil, wybierz pozycję Profile Zastosuj... na pasku menu WPA lub otwórz panel Moje ustawienia wstępne (Okno > Moje ustawienia wstępne) i wybierz pozycję Importuj.> Pierwsze konfiguruje pełną konfigurację WPA, jak na poniższej ilustracji poniżej tego akapitu. Ten ostatni udostępnia tylko ustawienia wstępne dla różnych konfiguracji widoku i umożliwia szybkie otwieranie widoku w celu przyjrzenia się konkretnemu elementowi danych zdarzenia ARR.

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

Obraz przedstawia widoki różnych zdarzeń specyficznych dlarr oraz widok ogólnego wykorzystania procesora CPU.

Następne kroki