共用方式為


.NET Framework 效能

如果您想要建立效能絕佳的應用程式,您應該設計並規劃效能,就像設計應用程式的任何其他功能一樣。 您可以使用 Microsoft 所提供的工具來測量應用程式的效能,並視需要改善記憶體使用量、程式代碼輸送量和回應性。 本主題列出Microsoft提供的效能分析工具,並提供涵蓋應用程式開發特定領域效能的其他主題連結。

設計及規劃效能

如果您想要執行良好的應用程式,您必須將效能設計到應用程式中,就像設計任何其他功能一樣。 您應該判斷應用程式中的效能關鍵性案例、設定效能目標,以及儘早且經常地測量這些應用程式案例的效能。 因為每個應用程式都不同,而且具有不同的效能關鍵執行路徑,因此儘早判斷這些路徑,並專注您的工作,讓您將生產力最大化。

您不需要完全熟悉目標平臺,即可建立高效能應用程式。 不過,您應該了解目標平臺的哪些部分在效能方面成本高昂。 您可以藉由在開發程式中早期測量效能來執行此動作。

若要判斷效能和建立效能目標的關鍵區域,請務必考慮用戶體驗。 啟動時間和回應性是影響使用者對應用程式的看法的兩個關鍵領域。 如果您的 app 使用大量記憶體,可能會在使用者看來顯得緩慢,或影響系統上執行的其他應用程式的性能,某些情況下,還可能無法通過 Windows 市集或 Windows Phone 市集的提交流程。 此外,如果您判斷出哪些部分的程式碼執行頻率較高,您可以確保這些部分的程式碼得到充分優化。

分析效能

在整體開發計劃中,在開發期間設定點,您可以在其中測量應用程式的效能,並將結果與您先前設定的目標進行比較。 在預期使用者擁有的環境和硬體中測量您的應用程式。 藉由早期並頻繁地分析應用程式的效能,您可以變更架構決策,這樣一來就能在開發週期後期避免高昂的修正成本。 下列各節說明可用來分析應用程式的效能工具,並討論這些工具所使用的事件追蹤。

效能工具

以下是您可以搭配 .NET Framework 應用程式使用的一些效能工具。

工具 說明
Visual Studio 效能分析 用來分析將部署到執行 Windows作系統之電腦的 .NET Framework 應用程式的 CPU 使用量。

開啟專案後,您可以從 Visual Studio 中的 [ 調試 ] 功能表中取得此工具。 如需詳細資訊,請參閱 效能總管注意: 以 Windows Phone 為目標時,請使用 Windows Phone 應用程式分析(請參閱下一列)。
Windows Phone 應用程式分析 用來分析 Windows Phone 應用程式中的 CPU 和記憶體、網路資料傳輸速率、應用程式回應性和電池耗用量。

安裝 Windows Phone SDK 之後,此工具可從 Visual Studio 中 Windows Phone 專案的 [偵錯] 功能表取得。 如需詳細資訊,請參閱 Windows Phone 8 的應用程式分析
PerfView 使用來識別 CPU 和記憶體相關的效能問題。 此工具使用 Windows 事件追蹤(ETW)和 CLR 分析 API,提供進階的記憶體和 CPU 調查能力,並且提供有關垃圾回收和即時編譯(JIT)過程的資訊。 如需如何使用 PerfView 的詳細資訊,請參閱 部落格文章
Windows 效能分析器 使用來判斷整體系統效能,例如當多個應用程式在同一部計算機上執行時,應用程式的記憶體和儲存使用方式。 此工具可從下載中心取得,做為適用於 Windows 8 的 Windows 評定及部署套件 (ADK) 的一部分。 如需詳細資訊,請參閱 Windows Performance Analyzer

Windows 事件追踪系統(ETW)

ETW 是一種技術,可讓您取得有關執行程式代碼的診斷資訊,對於先前提及的許多效能工具而言非常重要。 ETW 會在 .NET Framework 應用程式和 Windows 引發特定事件時建立記錄。 使用 ETW,您可以動態啟用和停用記錄,以便在生產環境中執行詳細的追蹤,而不需要重新啟動您的應用程式。 .NET Framework 提供 ETW 事件的支援,而許多分析與效能工具都會使用 ETW 來產生效能數據。 這些工具通常會啟用和停用 ETW 事件,因此熟悉這些工具相當有幫助。 您可以使用特定的 ETW 事件來收集應用程式特定元件的相關效能資訊。 如需 .NET Framework 中 ETW 支援的詳細資訊,請參閱 Common Language Runtime 中的 ETW 事件工作平行連結庫中的 ETW 事件和 PLINQ 中的 ETW 事件

依應用程式類型的效能

每種 .NET Framework 應用程式類型都有自己的最佳做法、考慮和工具來評估效能。 下表連結到特定 .NET Framework 應用程式類型的效能主題。

應用程式類型 看!
適用於所有平臺的 .NET Framework 應用程式 Garbage Collection and Performance (記憶體回收與效能)

效能秘訣
以 C++、C# 和 Visual Basic 撰寫的 Windows 8.x 市集應用程式 使用 C++、C# 和 Visual Basic 的 Windows 市集應用程式效能最佳做法
Windows Presentation Foundation (WPF) WPF 效能套件
ASP.NET ASP.NET 效能概觀
標題 說明
.NET Framework 應用程式中的快取 說明用於快取數據以提升應用程式效能的技術。
延遲初始化 描述如何視需要初始化物件,以改善效能,特別是在應用程式啟動時。
可靠性 提供有關防止伺服器環境中異步例外狀況的資訊。
撰寫大型回應式 .NET Framework 應用程式 提供在 Managed 程式代碼中重寫 C# 和 Visual Basic 編譯程式所收集的效能秘訣,並包含來自 C# 編譯程式的數個實際範例。