共用方式為


練習 2 - 使用 Windows Performance Toolkit 評估快速啟動

雖然 「快速啟動 」評估是輕鬆閱讀報表中取得度量的簡單方式,但您需要安裝 ADK,這需要一些時間才能執行。 您可以使用Windows Performance Recorder (WPR) 工具快速擷取快速啟動追蹤。

步驟 1:使用 WPA 開啟快速啟動追蹤

  1. 從 [開始] 功能表開啟 Windows Performance Recorder (WPR)

  2. 修改追蹤組態。

    1. 選取 [第一層分級 ] 和 [CPU 使用量 提供者]。

    2. 效能案例 變更為 快速啟動

    3. 反復專案數目 變更為 1,以收集單一追蹤。

      WPR [開始] 功能表的螢幕擷取畫面。

  3. 按一下 [ 開始]。

  4. 輸入路徑以儲存產生的追蹤,然後按一下 [ 儲存]。

    • 這會強制系統重新開機以收集並儲存追蹤。
  5. 系統重新開機之後,請等候 5 分鐘,讓追蹤完成。

您現在有一個追蹤,可以使用Windows 效能分析器 (WPA) 進行分析。

步驟 2:使用 WPA 開啟快速啟動追蹤

  1. 從 [開始] 功能表開啟Windows 效能分析器 (WPA)

  2. 從 [ 檔案] 功能表中,開啟您在步驟 1 中建立的追蹤。

  3. 開啟 [ 設定檔] 功能表,然後按一下 [ 套用...

    1. 按一下 [流覽類別目錄...]

    2. 選取 [FastStartup.wpaprofile]。

    3. 按一下 [ 開啟]。

您現在已將視覺效果設定檔套用至追蹤,以取得一些常用的圖形 (CPU、磁片等) 。

步驟 3:視覺化啟用時間表

  1. [深入分析] 索引標籤中查看感興趣的區域圖表

    • 此檢視提供練習 1 中所述之所有 快速啟動 子階段的時程表概觀。

      顯示時程表概觀的範例資料螢幕擷取畫面。

  2. 將滑鼠停留在區域列上方會導致快顯視窗出現,並提供區域本身的詳細資訊。

    • 如果您將滑鼠放在 開機主要路徑 區域上方,您可以看到其持續時間。 在下列範例中,它會持續 13.6 秒。

      顯示詳細區域資料的快顯視窗螢幕擷取畫面。

請花一點時間流覽區域樹狀結構,並查看所有子階段,以熟悉它。

檔案總管初始化和完成所花費的時間是建立 Windows 桌面並讓使用者看見的時間。 此階段 (和之後發生的所有專案,稱為 開機/關後) 可能會受到開機時啟動的進程所影響。

從 Explorer 初始化的開頭開始選取 90 秒間隔,然後放大。

WPA 中範例資料檢視的螢幕擷取畫面。 使用縮放選項在 WPA 中檢視範例資料檢視的螢幕擷取畫面。

[感興趣的區域 ] 圖表下,還有其他兩個寶貴的圖表: CPU 使用量 (取樣) 磁片使用量。 它們將用來評估軟體預先載入對 開/關 後資源耗用量和回應性的影響。

應用程式和服務的高 CPU 使用量可能會導致使用者體驗不佳,例如 UI 沒有回應或視訊和音效問題。 當單一進程使用太多 CPU 時,可能會延遲其他進程,因為它們必須競爭系統資源。

當執行緒使用儲存體資源時,它可以增加活動的持續時間。 當多個執行緒爭用儲存體時,產生的隨機磁片搜尋會讓延遲變得更重要。

步驟 4:分析進程 CPU 使用量

若要評估進程耗用多少 CPU 時間,請將焦點放在 取樣) 圖形 (CPU 使用量 。 CPU 使用量 (取樣) 圖形中顯示的資料代表定期 1 毫秒取樣間隔所取用的 CPU 活動樣本。 資料表中的每個資料列都代表單一範例。

此取樣方法不會記錄樣本之間發生的任何 CPU 活動。 因此, CPU 取樣 圖表中未妥善表示非常短持續時間的活動,例如中斷。

檢閱每個進程的 CPU 使用量,以識別具有最高 CPU 使用量的進程, (權數%Weight) 。 若要這樣做,請向下捲動至圖形 CPU 使用量 (取樣) 。 在左側,檢視進程清單。 左側選取的每個使用中進程都會顯示在圖形上。

範例 CPU 使用量資料的螢幕擷取畫面。

**提示:**

使用 WPA 圖形時,您可以變更檢視以顯示圖表和資料表。 您可以按一下 [最大化 ] 按鈕,隱藏 [ 分析 ] 索引標籤上顯示的其他圖表。

WPA 中最大化按鈕的螢幕擷取畫面。

在此範例中, ImageSHELLY.exe 在目前分析的 90 秒間隔內耗用 12.4 秒的 CPU 時間。 由於此系統上的 CPU 有兩個核心,因此這代表 6.9% 使用率的相對百分比。

您可以使用這項資訊來調查造成此 CPU 耗用量的特定程式,或將這些詳細資料轉送給擁有此程式的開發人員。

您可以新增其他資料行,以擷取詳細資訊 (以滑鼠右鍵按一下資料表資料行標頭) :

  • 執行緒識別碼:造成 CPU 使用量的執行緒識別碼

  • 堆疊:呼叫堆疊,醒目提示造成 CPU 使用量的程式碼路徑和函式

顯示如何將更多資料行新增至結果的螢幕擷取畫面。

在上述範例中,只有一個執行緒導致 ImageSHELLY.exe 進程內的大部分 CPU 使用量:執行緒 2612,CPU 活動為 10.77 秒。

堆疊顯示此活動來自 ImageSTACEY.dll 模組。

步驟 5:分析進程磁片使用量

若要評估進程耗用多少磁片頻寬,請將焦點放在 [磁片使用量 ] 圖表上。

WPA 中範例資料的螢幕擷取畫面。

感興趣的資料行包括:

  • Pri:磁片 I/O 的優先順序。 三個可能的優先順序層級包括:一般、低和非常低。

  • IO 類型:I/O 的類型。 三種可能的 I/O 類型包括:讀取、寫入和排清。

  • 進程:建立磁片 I/O 之進程的識別碼。

  • 路徑樹狀結構:結構化樹狀結構,代表 I/O 存取的檔案位置。

  • 大小:大小 (,以位元組為單位) I/O。

  • 磁片服務時間:磁片服務 I/O 所花費的時間量。

  • IO 時間:I/O 在 Windows I/O 佇列中花費的時間量。

    • IO 時間 一律比 磁片服務時間 長,因為 I/O 可以在發生磁片爭用時排入佇列,或必須先完成優先順序較高的 I/O 發送器。

新增這些資料行並加以排列,以取得此檢視:

使用特定資料行篩選的範例資料螢幕擷取畫面。

開/關後 只會考慮一般優先順序 I/O。 根據程式調查這些磁片讀取的相關資訊。 磁片讀取通常會考慮比開機時磁片寫入更多的磁片存取時間,因為必須從磁片讀取大量資料,才能啟動進程和服務。

  1. 按一下 Pri:非常低和 Pri: 低數列旁的色彩標記,如此圖形上只會顯示一般優先順序 I/O。

    顯示非常低資料使用量之範例圖表的螢幕擷取畫面。

  2. 在資料表檢視中,展開 [一般 ] 優先順序資料列。

  3. 在資料表檢視中,展開 [寫入]、[ 讀取] 和 [ 排清] 的資料列,然後按一下 [大小 ] 資料行的標頭,以遞減順序排序內容。

    您的畫面看起來應該像這樣:

    索引標籤中範例資料結果的螢幕擷取畫面,其中包含 Pri、IO 類型、進程、路徑樹狀結構、IO 時間和大小資料行

    上述範例顯示下列專案:

    1. 152 MB 的資料是以一般優先順序從磁片讀取。

    2. 129 MB 的資料是以一般優先順序寫入磁片。

      • 這些主要是磁片寫入,用來在儲存體上保存擷取的 ETL 追蹤檔案。
  4. 在資料表檢視中,展開 [讀取 IO 類型 ] 資料列。

    • 您現在應該能夠查看在 開啟/關閉期間造成最大讀取磁片 I/O 數量的進程。
  5. 識別參與磁片讀取且不是 Windows 元件的前三個進程。

    資料行 Pri、IO 類型、進程、路徑樹狀結構、IO 時間和大小之資料表中範例資料結果的螢幕擷取畫面

  6. 在資料表檢視中,展開ImageSTUART.exe的路徑樹狀目錄資料列,然後流覽它。

    資料表中範例資料結果的螢幕擷取畫面,其中包含 [進程]、[路徑樹狀結構]、[IO 時間和大小] 資料行

在上述範例中, ImageSTUART.exe開機/關閉期間啟動時從磁片讀取 13.5 MB 的資料,而且大部分的存取都是在 Program Files 資料夾中讀取 DLL 元件。

使用這項資訊,軟體發展人員應該識別其元件和程式,並判斷元件大小是否可以減少,或啟動程式碼路徑是否可以優化,以將從磁片讀取的資料量降到最低。

您也可以使用此資料來識別在開機時啟動的協力廠商進程,並導致磁片使用量偏高。 如果程式似乎引進磁片爭用,則可以從映射中移除它,或只是不要在開機時啟動。