建立用戶端效能追蹤
Azure 遠端轉譯效能可能不符合預期的原因有很多。 除了雲端伺服器上的純轉譯效能,尤其是網路連線的品質對體驗有重大影響。 若要分析伺服器的效能,請參閱伺服器端效能查詢 一章 。
本章著重于如何透過 performance traces 識別潛在的用戶端瓶頸。
開始使用
如果您不熟悉 Windows performance tracing 功能,本節會提及最基本的詞彙和應用程式,讓您開始使用。
安裝
用來使用 ARR 進行追蹤的應用程式是可用於所有 Windows 開發的一般用途工具。 它們會透過 Windows Performance Toolkit 提供。 若要取得此工具組,請下載 Windows 評定和部署套件 。
辭彙
搜尋效能追蹤的相關資訊時,您可能會遇到各種詞彙。 最重要的是:
ETW
ETL
WPR
WPA
Perfetto
ETW 代表 E vent T 賽車 W indows 。 它只是 Windows 內建有效率核心層級追蹤設施的完整名稱。 它稱為 事件 追蹤,因為支援 ETW 的應用程式會發出事件來記錄可能有助於追蹤效能問題的動作。 根據預設,作業系統已針對磁片存取、工作切換等專案發出事件。 ARR 之類的應用程式會額外發出自訂事件,例如關於已卸載的畫面格、網路延隔等。
ETL 代表 E vent T 比賽 L ogging。 它只是表示已收集追蹤(已記錄),因此通常用於儲存追蹤資料之檔案的副檔名。 因此,當您進行追蹤時,您通常會在之後有 *.etl 檔案。
WPR 代表 W indows P erformance R ecorder ,而且是啟動和停止事件追蹤記錄的應用程式名稱。 WPR 會採用設定檔案 (*.wprp) 來設定要記錄的確切事件。 wprp
這類檔案會與 ARR SDK 一起提供。 在桌上型電腦上執行追蹤時,您可以直接啟動 WPR。 在 HoloLens 上執行追蹤時,您通常會改為流覽 Web 介面。
WPA 代表 W indows P erformance A nalyzer ,而且是用來開啟 *.etl 檔案並篩選資料以識別效能問題的 GUI 應用程式名稱。 WPA 可讓您依各種準則排序資料、以數種方式顯示資料、深入探討詳細資料,以及相互關聯資訊。
Perfetto 是 Android 和 Linux 的系統分析和應用程式追蹤工具。 它內建于 Android 自 Android 9 Pie 之後。 自 v27 OS 以來,Meta Quest 和 Quest 2 裝置上 也會啟用 Perfetto(啟用開發人員模式時)。 Perfetto 追蹤檢視器 UI 可用來開啟和分析產生的 Perfetto 追蹤。
雖然 ETL 追蹤可以在任何 Windows 裝置上建立(本機電腦、HoloLens、雲端伺服器等),但它們通常會儲存到磁片,並在桌上型電腦上使用 WPA 進行分析。 ETL 檔案可以傳送給其他開發人員,讓他們看一看。 請注意,敏感性資訊,例如檔案路徑和 IP 位址,可能會在 ETL 追蹤中擷取。 您可以使用 ETW 以兩種方式:記錄追蹤,或分析追蹤。 錄製追蹤是直接的,而且需要最少的設定。 另一方面,分析追蹤確實需要對 WPA 工具與您正在調查的問題有一個體面的瞭解。 以下提供學習 WPA 的一般內容,以及如何解譯 ARR 特定追蹤的指導方針。
在本機電腦上錄製追蹤
若要識別 ARR 效能問題,您應該偏好直接在 HoloLens 上執行追蹤。 因為這是取得真實效能特性快照集的唯一方法。 不過,如果您特別想要在沒有 HoloLens 效能限制的情況下執行追蹤,或只是想要瞭解如何使用 WPA,而不需要實際追蹤,以下是如何執行此動作。
WPR 組態
- Windows Performance Recorder從 [開始] 功能表 啟動 。
- 展開 更多選項
- 選取 [ 新增設定檔...
- 選取 AzureRemoteRenderingNetworkProfiling.wprp 檔案 。 您可以在 [工具/ETLProfiles ] 底下的 ARR SDK 中找到此檔案。 設定檔現在會列在 [自訂度量 ] 下的 WPR 中。 請確定它是唯一啟用的設定檔。
- 展開 第一層分級 :
- 如果您想要做的就是擷取 ARR 網路事件的快速追蹤, 請停用 此選項。
- 如果您需要將 ARR 網路事件與其他系統特性相互關聯,例如 CPU 或記憶體使用量,請 啟用 此選項。
- 如果您啟用此選項,追蹤很可能大小為多個 GB,而且需要很長的時間才能在 WPA 中儲存和開啟。
之後,您的 WPR 組態看起來應該像這樣:
錄製
選取 [ 開始] 開始錄製追蹤。 您可以隨時啟動和停止錄製;您不需要在這麼做之前關閉應用程式。 如您所見,您不需要指定要追蹤的應用程式,因為 ETW 一律會記錄整個系統的追蹤。 檔案 wprp
會指定要記錄的事件種類。
選取 [ 儲存 ] 以停止錄製,並指定要儲存 ETL 檔案的位置。
您現在有可在 WPA 中開啟的 ETL 檔案。
錄製 HoloLens 上的追蹤
若要記錄 HoloLens 上的追蹤,請啟動您的裝置,並將其 IP 位址輸入瀏覽器以開啟 裝置入口網站 。
- 在左側,流覽至 [效能 > 效能追蹤 ]。
- 選取 自訂設定檔
- 選取 Browse...
- 選取 AzureRemoteRenderingNetworkProfiling.wprp 檔案 。 您可以在 [工具/ETLProfiles ] 底下的 ARR SDK 中找到此檔案。
- 選取 [開始追蹤]
- HoloLens 現在正在錄製追蹤。 請務必觸發您想要調查的效能問題。 然後選取 [ 停止追蹤 ]。
- 追蹤接著會列在網頁底部。 選取右側的磁片圖示以下載 ETL 檔案。
您現在有可在 WPA 中開啟的 ETL 檔案。
在 Meta Quest 裝置上錄製追蹤
若要在 Quest 上記錄追蹤,您需要 adb 命令列工具 。
- 請確定 您的 Quest 上已啟用開發人員模式。
- 執行並確認裝置已列出,以確定 adb 已獲得存取裝置
adb devices
的授權。 - 從 [工具/ETLProfiles ] 底下的 ARR SDK 找到追蹤設定檔 AzureRemoteRenderingPerfetto.txt 檔案。
- 根據預設,追蹤組態會設定為執行 30 秒。 編輯 AzureRemoteRenderingPerfetto.txt 檔案中的 值,即可修改
duration_ms: 30000
此設定。
- 根據預設,追蹤組態會設定為執行 30 秒。 編輯 AzureRemoteRenderingPerfetto.txt 檔案中的 值,即可修改
- 在 PowerShell 上,執行
$config = cat "AzureRemoteRenderingPerfetto.txt" | adb shell perfetto -c - $config --txt --o "/data/misc/perfetto-traces/trace"
- 您應該會看到類似下列的輸出:
[522.149] perfetto_cmd.cc:825 Connected to the Perfetto traced service, TTL: 30s
- Quest 裝置現在正在錄製追蹤。 啟動您的應用程式並觸發您想要調查的問題。
- 追蹤錄製完成時,您應該會看到如下的輸出:
[552.637] perfetto_cmd.cc:946 Trace written into the output file
- 最後,您可以執行 來從裝置提取檔案
adb pull "/data/misc/perfetto-traces/trace" "outputTrace.pftrace"
您現在有可在 Perfetto 追蹤檢視器 UI 上 開啟的 Perfetto 追蹤檔案。
使用 WPA 分析追蹤
WPA 基本概念
Windows 效能分析器是開啟 ETL 檔案並檢查追蹤的標準工具。 說明 WPA 的運作方式已脫離本文的範圍。 若要開始使用,請查看下列資源:
- 觀看 簡介影片 以取得第一個概觀。
- WPA 本身有 [ 使用者入門] 索引 標籤,其中說明常見的步驟。 查看可用的文章。 特別是在「檢視資料」底下,您會快速介紹如何為特定資料建立圖表。
- 然而,該網站 有很好的資訊,但並非所有資訊 都與初學者有關。
圖形資料
若要開始使用 ARR 追蹤,下列部分是眾所周知的。
上圖顯示追蹤資料的資料表,以及相同資料的圖表表示。
在底部的表格中,記下黃色(金色)列和藍色列。 您可以拖曳這些列,並將其放在任何位置。
黃色列左邊的所有 資料行都會解譯為 索引鍵 。 索引鍵是用來在左上方視窗結構樹狀結構。 在這裡,我們有兩 個索引鍵 資料行「提供者名稱」和「工作名稱」。 因此,左上方視窗的樹狀結構深度為兩個層級。 如果您重新排序資料行,或從索引鍵區域新增或移除資料行,樹狀檢視中的結構就會變更。
藍色長條 右邊的資料行會用於 右上方視窗的圖形顯示 。 大部分時間只會使用第一個資料行,但某些圖表模式需要多個資料行。 若要讓折線圖能夠運作, 必須設定該資料行上的匯總模式 。 使用 'Avg' 或 'Max'。 當圖元涵蓋具有多個事件的範圍時,匯總模式可用來判斷指定圖元的圖形值。 您可以將匯總設定為 'Sum',然後放大和縮小,即可觀察這點。
中間的資料行沒有特殊意義。
在 [ 一般事件檢視編輯器] 中,您可以設定要顯示的所有資料行、匯總模式、排序和哪些資料行做為索引鍵或圖形。 在上述範例中, 欄位 2 已啟用,且欄位 3 - 6 已停用。 欄位 2 通常是 ETW 事件的第一 個自訂資料 欄位,因此適用于 ARR 「FrameStatistics」 事件,代表一些網路等待時間值。 啟用其他「欄位」資料行,以查看此事件的進一步值。
Presets
若要正確分析追蹤,您必須找出自己的工作流程,以及慣用的資料顯示。 不過,為了能夠快速概觀 ARR 特定事件,我們在 [工具/ETLProfiles ] 資料夾中 包含 Windows 軟體保護平台佈建檔和預設檔案。 若要載入完整的設定檔,請從 WPA 功能表列選取 [設定檔 > 套用... ],或開啟 [我的預設 ] 面板 [ 視窗 > 我的預設 ],然後選取 [ 匯入 ]。 先前的 設定完整的 WPA 組態,如下圖所示。 後者只會提供各種檢視組態的預設值,並可讓您快速開啟檢視來查看特定 ARR 事件資料片段。
上圖顯示各種 ARR 特定事件的檢視,以及整體 CPU 使用率的檢視。