最佳化效能和回應性
客戶預期高效能且有回應的系統。 這包括廣泛的案例範圍,範圍從開機時間到與應用程式的流暢使用者互動。 分析效能問題需要許多專業知識和領域特定知識。 Microsoft 提供可協助您處理此複雜工作的工具。
本指南將介紹測量、分析及解決關鍵區域中效能問題的根本原因的程式。 主題包括:
使用 Windows Performance Toolkit (WPT)
擷取 ETL) 追蹤 (事件追蹤記錄
開機、應用程式啟動和 UI 延遲
CPU 和磁片資源使用量分析
重要路徑和等候分析
目標
本指南將示範如何執行下列工作:
收集相關資料以分析任何系統上的效能問題
瞭解分析程式,以查看系統資源耗用量,例如 CPU 和磁片
識別在某些主要 Windows 案例中可能會影響系統回應性的專案
工具
ADK 中的 Windows 評定工具組提供一組稱為評定的效能相關測試。 評量結果可用來診斷潛在問題,讓您開發的硬體和軟體都具有回應性,而且對電池使用時間、啟動效能和關機時間的影響最小。 OEM/ISV/IHV 合作夥伴、愛好者和社群的其他成員可以使用相同的評量,以建立一般架構來測量、比較和檢閱品質層面。
Windows Performance Toolkit包含兩個獨立工具:Windows Performance Recorder (WPR) 和Windows 效能分析器 (WPA) 。 WPR 是功能強大的錄製工具,可建立 Windows (ETW 的事件追蹤) 錄製。 您可以從使用者介面 (UI) 或從命令列執行 WPR (CL) 。 WPR 提供內建設定檔,可讓您用來選取您想要記錄的事件。 WPA 是一種功能強大的分析工具,結合了彈性 UI 與廣泛的圖形功能和資料表,可進行樞紐分析,並具有全文檢索搜尋功能。
快速啟動行為
在 Windows 8 中引進,快速啟動是預設開機行為。 關機程式已更新,以鏡像休眠運作方式將資料寫入磁片。 在開機期間,系統會經歷下表所述的階段。
階段 | 描述 |
---|---|
BIOS 初始化 | 作業系統初始化 BIOS 所需的時間,包括啟動前執行環境 (PXE) 。 |
Hiberfile 讀取 | 作業系統從磁片讀取休眠檔案所需的時間。 hiberfile 包含關機期間寫入的所有系統內容。 |
繼續裝置 | 作業系統繼續裝置所需的時間,並將其放回作用中的電源狀態。 |
WinLogon 繼續 | 作業系統繼續 Winlogon 程式所需的時間。 |
總管初始化 | 作業系統初始化 Windows 殼層所需的時間 (explorer.exe) 。 此階段會在使用者看到桌面或 [開始] 畫面時結束。 |
張貼開啟/關閉持續時間 | Windows 在桌面出現之後完成所有啟動工作所需的時間,但直到 CPU 和磁片資源變成閒置為止。 |
如需快速啟動行為的詳細資訊,請參閱 MSDN 上的 開啟/關閉轉換效能 主題。
CPU 排程和執行緒
由於系統中的處理器數目有限,因此無法同時執行所有線程。 Windows 會實作處理器時間共用,讓執行緒在處理器切換至另一個執行緒之前執行一段時間。 線上程之間切換的動作稱為內容切換,並由稱為發送器的 Windows 元件執行。 每個執行緒在任何指定時間都處於特定執行狀態。 Windows 使用與效能相關的三種狀態: 執行中、 就緒和 等候。
正在執行的執行緒處於 執行中狀態 。 可執行但目前未執行的執行緒處於 就緒 狀態。 執行緒無法執行 (,因為它們正在等候特定事件,) 處於 Waiting 狀態。 下圖說明可能的執行緒轉換。
執行中狀態的執行緒會呼叫WaitForSingleObject或Sleep (> 0) 等等候函式,以起始轉換至Wait狀態。
執行中的執行緒或核心作業會在 等候 狀態 (讀取執行緒,例如 SetEvent 或計時器到期) 。
當執行中的執行緒等候或到達其執行量子結束時,發送器會排程處理 處於就緒 狀態的執行緒。
執行中狀態的執行緒會切換出來,並在發送器先占較高優先順序執行緒或其量子結束時進入就緒狀態。
只有在使用者等候執行緒完成作業時,執行緒狀態才會成為效能的重要因素。
如需 CPU 排程的詳細資訊,請參閱 MSDN 上的 CPU 分析 主題。
Exercises
本指南包含下列練習。