Freigeben über


.NET Framework-Leistung

Wenn Sie Apps mit hoher Leistung erstellen möchten, sollten Sie die Leistung so entwerfen und planen, wie Sie ein anderes Feature Ihrer App entwerfen würden. Sie können die von Microsoft bereitgestellten Tools verwenden, um die Leistung Ihrer App zu messen und bei Bedarf Verbesserungen an der Speichernutzung, dem Codedurchsatz und der Reaktionsfähigkeit vorzunehmen. In diesem Thema werden die von Microsoft bereitgestellten Leistungsanalysetools aufgeführt und Links zu anderen Themen bereitgestellt, die die Leistung für bestimmte Bereiche der App-Entwicklung abdecken.

Entwerfen und Planen für optimale Leistung

Wenn Sie eine hervorragende App wünschen, müssen Sie die Leistung in Ihrer App genauso entwerfen, wie Sie ein anderes Feature entwerfen würden. Sie sollten die leistungskritischen Szenarien in Ihrer App ermitteln, Leistungsziele festlegen und die Leistung für diese App-Szenarien frühzeitig und häufig messen. Da jede App anders ist und über unterschiedliche leistungskritische Ausführungspfade verfügt, können Sie diese Pfade frühzeitig ermitteln und ihre Bemühungen konzentrieren, um Ihre Produktivität zu maximieren.

Sie müssen nicht vollständig mit Ihrer Zielplattform vertraut sein, um eine leistungsstarke App zu erstellen. Sie sollten jedoch ein Verständnis dafür entwickeln, welche Teile Ihrer Zielplattform hinsichtlich der Leistung kostspielig sind. Sie können dies tun, indem Sie die Leistung frühzeitig in Ihrem Entwicklungsprozess messen.

Um die Bereiche zu ermitteln, die für die Leistung von entscheidender Bedeutung sind, und um Ihre Leistungsziele festzulegen, sollten Sie immer die Benutzererfahrung berücksichtigen. Startzeit und Reaktionsfähigkeit sind zwei wichtige Bereiche, die sich auf die Wahrnehmung Ihrer App auswirken. Wenn Ihre App viel Arbeitsspeicher verwendet, kann es für den Benutzer träge erscheinen oder sich auf andere Apps auswirken, die auf dem System ausgeführt werden, oder in einigen Fällen kann der Windows Store- oder Windows Phone Store-Übermittlungsprozess fehlschlagen. Wenn Sie außerdem feststellen, welche Teile des Codes häufiger ausgeführt werden, können Sie sicherstellen, dass diese Teile des Codes gut optimiert sind.

Analysieren der Leistung

Legen Sie im Rahmen Ihres gesamtentwicklungsplans Punkte während der Entwicklung fest, in denen Sie die Leistung Ihrer App messen und die Ergebnisse mit den zuvor festgelegten Zielen vergleichen. Messen Sie die Leistung der App in der Umgebung und mit der Hardware, von denen Sie annehmen, dass die Benutzer sie verwenden. Indem Sie die Leistung Ihrer App frühzeitig und regelmäßig analysieren, können Sie architekturbezogene Entscheidungen rechtzeitig ändern, die später im Entwicklungszyklus kostspielig und aufwändig zu beheben wären. In den folgenden Abschnitten werden Leistungstools beschrieben, mit denen Sie Ihre Apps analysieren und die Ereignisablaufverfolgung besprechen können, die von diesen Tools verwendet wird.

Leistungstools

Hier sind einige der Leistungstools, die Sie mit Ihren .NET Framework-Apps verwenden können.

Werkzeug BESCHREIBUNG
Visual Studio-Leistungsanalyse Wird verwendet, um die CPU-Auslastung Ihrer .NET Framework-Apps zu analysieren, die auf Computern bereitgestellt werden, auf denen das Windows-Betriebssystem ausgeführt wird.

Dieses Tool ist im Menü "Debuggen " in Visual Studio verfügbar, nachdem Sie ein Projekt geöffnet haben. Weitere Informationen finden Sie im Leistungs-Explorer. Anmerkung: Verwenden Sie die Windows Phone-Anwendungsanalyse (siehe nächste Zeile), wenn Sie auf Windows Phone abzielen.
Windows Phone-Anwendungsanalyse Wird verwendet, um die CPU und den Arbeitsspeicher, die Netzwerkdatenübertragungsrate, die Reaktionsfähigkeit der App und den Akkuverbrauch in Ihren Windows Phone-Apps zu analysieren.

Dieses Tool ist im Menü "Debuggen " für ein Windows Phone-Projekt in Visual Studio verfügbar, nachdem Sie das Windows Phone SDK installiert haben. Weitere Informationen finden Sie unter App-Profilierung für Windows Phone 8.
PerfView Wird verwendet, um CPU- und arbeitsspeicherbezogene Leistungsprobleme zu identifizieren. Dieses Tool verwendet die Ereignisablaufverfolgung für Windows (ETW) und CLR-Profilerstellungs-APIs, um erweiterte Arbeitsspeicher- und CPU-Untersuchungen sowie Informationen zur Garbage Collection und JIT-Kompilierung bereitzustellen. Weitere Informationen zur Verwendung von PerfView finden Sie in den Blogbeiträgen.
Windows Performance Analyzer Hiermit können Sie die Gesamtleistung des Systems ermitteln, z. B. den Arbeitsspeicher und den Speicher Ihrer App, wenn mehrere Apps auf demselben Computer ausgeführt werden. Dieses Tool steht im Download Center als Teil des Windows Assessment and Deployment Kit (ADK) für Windows 8 zur Verfügung. Weitere Informationen finden Sie unter Windows Performance Analyzer.

Ereignisablaufverfolgung für Windows (ETW)

ETW ist eine Technik, mit der Sie Diagnoseinformationen zum Ausführen von Code abrufen können und für viele der zuvor erwähnten Leistungstools unerlässlich sind. ETW erstellt Protokolle, wenn bestimmte Ereignisse von .NET Framework-Apps und Windows ausgelöst werden. Mit ETW können Sie die Protokollierung dynamisch aktivieren und deaktivieren, sodass Sie eine detaillierte Ablaufverfolgung in einer Produktionsumgebung durchführen können, ohne Ihre App neu zu starten. .NET Framework bietet Unterstützung für ETW-Ereignisse, und ETW wird von vielen Profilerstellungs- und Leistungstools verwendet, um Leistungsdaten zu generieren. Diese Tools aktivieren und deaktivieren häufig ETW-Ereignisse, daher ist die Vertrautheit mit ihnen hilfreich. Sie können bestimmte ETW-Ereignisse verwenden, um Leistungsinformationen zu bestimmten Komponenten Ihrer App zu sammeln. Weitere Informationen zur ETW-Unterstützung im .NET Framework finden Sie unter ETW-Ereignisse in der Common Language Runtime und ETW-Ereignisse in task Parallel Library und PLINQ.

Leistung nach App-Typ

Jeder .NET Framework-App-Typ verfügt über eigene bewährte Methoden, Überlegungen und Tools zur Bewertung der Leistung. Die folgende Tabelle enthält Links zu Leistungsthemen für bestimmte .NET Framework-App-Typen.

App-Typ Weitere Informationen
.NET Framework-Apps für alle Plattformen Garbage Collection und Leistung

Leistungstipps
Windows 8.x Store-Apps, die in C++, C# und Visual Basic geschrieben wurden Bewährte Methoden für die Leistung für Windows Store-Apps mit C++, C# und Visual Basic
Windows Presentation Foundation (WPF) WPF Performance Suite
ASP.NET ASP.NET Leistungsübersicht
Titel BESCHREIBUNG
Zwischenspeichern in .NET Framework-Anwendungen Beschreibt Techniken zum Zwischenspeichern von Daten, um die Leistung in Ihrer App zu verbessern.
Verzögerte Initialisierung Beschreibt, wie Objekte nach Bedarf initialisiert werden, um die Leistung zu verbessern, insbesondere beim App-Start.
Zuverlässigkeit Enthält Informationen zum Verhindern asynchroner Ausnahmen in einer Serverumgebung.
Schreiben großer, reaktionsfähiger .NET Framework-Apps Enthält Leistungstipps, die aus dem Umschreiben der C#- und Visual Basic-Compiler in verwaltetem Code gesammelt werden, und enthält mehrere echte Beispiele aus dem C#-Compiler.