.NET Framework 效能

如果您想建立高效能的應用程式,您應該以設計應用程式之其他任何功能的相同方式,來設計及規劃效能。 您可以使用 Microsoft 提供的工具來測量應用程式的效能,並在必要時改進記憶體使用量、程式碼輸送量和回應性。 本主題列出 Microsoft 提供的效能分析工具,並提供涵蓋應用程式開發之特定區域效能的其他主題連結。

設計及規劃效能

如果您需要高效能的應用程式,您必須以設計其他任何功能的相同方式,將效能設計到應用程式中。 您應該判斷應用程式的效能關鍵案例、設定效能目標,並及早且經常地測量這些應用程式案例的效能。 由於每個應用程式都不同,並有不同的效能關鍵執行路徑,因此及早判斷這些路徑並集中工作,可讓您提升生產力。

您不需要完全熟悉您的目標平台,即可建立高效能的應用程式。 不過,您應該了解目標平台中的哪些組件會嚴重降低效能。 您可以在開發流程初期測量效能,來達成此目的。

若要判斷哪些區域對效能很重要,以及建立您的效能目標,請一律考量使用者體驗。 啟動時間和回應性是影響使用者對應用程式觀感的兩個主要區域。 如果您的應用程式使用大量記憶體,可能對使用者顯得遲緩或影響在系統上執行的其他應用程式,或者在某些情況下,造成 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 之後,可針對 Windows Phone 專案,從 Visual Studio 的 [偵錯] 功能表中取得這項工具。 如需詳細資訊,請參閱 Windows Phone 8 的應用程式分析
PerfView 用來識別 CPU 和記憶體相關的效能問題。 這項工具使用 Windows 事件追蹤 (ETW) 和 CLR 程式碼分析應用程式開發介面,提供進階的記憶體和 CPU 調查,以及有關記憶體回收和 JIT 編譯的資訊。 如需如何使用 PerfView 的詳細資訊,請參閱部落格文章
Windows Performance Analyzer 當多個應用程式在相同電腦上執行時,用來判斷整個系統效能,例如應用程式的記憶體和儲存體使用。 您可以從下載中心取得屬於 Windows 8 的 Windows 評量及部署套件 (ADK) 一部分的這項工具。 如需詳細資訊,請參閱 Windows Performance Analyzer

Windows 事件追蹤 (ETW)

ETW 是一項技術,可讓您取得有關執行中程式碼的診斷資訊,對於之前所提到的許多效能工具而言,是不可或缺的一項技術。 ETW 會在 .NET Framework 應用程式和 Windows 引發特定事件時建立記錄檔。 透過 ETW,您可以動態啟用和停用記錄,讓您在生產環境中執行詳細追蹤,而不需要重新啟動應用程式。 .NET Framework 提供對 ETW 事件的支援,而許多程式碼分析和效能工具會使用 ETW 來產生效能資料。 這些工具通常會啟用和停用 ETW 事件,因此熟悉這些事件會很有幫助。 您可以使用特定 ETW 事件收集有關您的應用程式特定元件的效能資訊。 如需 .NET Framework 中 ETW 支援的詳細資訊,請參閱通用語言執行平台中的 ETW 事件工作平行程式庫和 PLINQ 中的 ETW 事件

依應用程式類型的效能

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

應用程式類型 請參閱
所有平台的 .NET 應用程式 Garbage Collection and Performance (記憶體回收與效能)

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