Markieren Sie das Kontrollkästchen Englisch, um die englische Version dieses Artikels anzuzeigen. Sie können den englischen Text auch in einem Popup-Fenster einblenden, indem Sie den Mauszeiger über den Text bewegen.
Übersetzung
Englisch

.NET Framework Performance

.NET Framework (current version)
 

Wenn Sie Anwendungen mit einer sehr guten Performance erstellen möchten, sollten Sie die Performance genauso planen und designen, wie Sie es für andere Funktionen der Anwendung tun.   Sie können die von Microsoft bereitgestellten Tools verwenden, um die Leistung der App zu messen und gegebenenfalls Verbesserungen der Arbeitsspeichernutzung, des Codedurchsatzes und der Reaktionsfähigkeit vorzunehmen.   In diesem Thema werden die von Microsoft bereitgestellten Leistungsanalysetools aufgelistet sowie Links zu anderen Themen bereitgestellt, die die Leistung für bestimmte Bereiche der App-Entwicklung behandeln.   

Wenn Sie eine sehr leistungsfähige Anwendung entwickeln möchten, müssen Sie die Leistung beim Entwurf genauso berücksichtigen wie jede anderen Funktion der Anwendung.    Sie sollten die leistungskritischen Szenarien der Anwendung bestimmen, Leistungsziele für diese festlegen und sehr frühzeitig und häufig die Leistung für diese Anwendungsszenarien messen.    Da jede Anwendung anders ist und unterschiedliche leistungskritische Ausführungspfade aufweist, können Sie durch frühzeitiges Bestimmen und Fokussierung Ihrer Arbeit auf diese Pfade die Produktivität maximieren.   

Sie müssen mit der Zielplattform nicht vollständig vertraut sein, um eine leistungsstarke Anwendung zu erstellen.   Sie sollten jedoch ein Verständnis dafür entwickeln, welche Teile der Zielplattform die Leistung beeinträchtigen können.   Um dies zu erreichen, können Sie die Leistung frühzeitig im Entwicklungsprozess messen.   

Berücksichtigen Sie stets die Benutzerfreundlichkeit, um die für die Leistung entscheidenden Bereiche zu bestimmen und die Leistungsziele zu erreichen.   Startzeit und Reaktionsfähigkeit sind zwei wesentliche Bereiche, die sich darauf auswirken, wie die Anwendung von Benutzern wahrgenommen wird.    Wenn die Anwendung viel Arbeitsspeicher verwendet, könnte sie dem Benutzer langsam erscheinen oder andere, auf dem System ausgeführten Anwendungen beeinträchtigen. In einigen Fällen könnte dann auch die Einreichung in den Windows Store oder den Windows Phone Store fehlschlagen.    Wenn Sie zudem bestimmen, welche Teile des Codes häufiger ausgeführt werden, können Sie sicherstellen, dass diese Teile des Codes gut optimiert sind.   

Legen Sie als Teil des Gesamtentwicklungsplans Zeitpunkte während der Entwicklung fest, an denen Sie die Leistung der Anwendung messen und die Ergebnisse mit den früher festgelegten Zielen vergleichen.    Messen Sie die Leistung der Anwendung in der Umgebung und mit der Hardware, von denen Sie annehmen, dass die Benutzer sie verwenden.   Wenn Sie die Leistung der App frühzeitig und häufig analysieren, können Sie architekturbezogene Entscheidungen ändern, deren Korrektur später im Entwicklungszyklus aufwendig und teuer wäre.  In den folgenden Abschnitten werden Leistungstools beschrieben, mit denen Sie Ihre Apps analysieren können. Außerdem wird die von diesen Tools verwendete Ereignisablaufverfolgung erläutert.  

Im Folgenden werden einige Leistungstools aufgeführt, die Sie für .NET Framework-Anwendungen verwenden können.

Werkzeug

Beschreibung

Visual Studio Leistungsanalyse

Verwenden Sie dieses Tool, um die CPU-Auslastung durch Ihre .NET Framework-Anwendungen zu analysieren, die auf Computern mit dem Windows-Betriebssystem ausgeführt werden.

Dieses Tool ist in Visual Studio im Menü Debuggen verfügbar, nachdem Sie ein Projekt geöffnet haben.  Weitere Informationen finden Sie unter Verwenden von Profilerstellungstools.  

System_CAPS_noteHinweis

Verwenden Sie die Windows Phone Anwendungsanalyse (siehe folgende Zeile), wenn Sie für das Windows Phone entwickeln.

Windows Phone Anwendungsanalyse

Verwenden Sie dieses Werkzeug, um die CPU und den Arbeitsspeicher, die Netzwerkdatenübertragungsrate, die App-Reaktionsfähigkeit und den Akkuenergieverbrauch in Windows Phone-Apps zu analysieren.

Dieses Tool ist in Visual Studio für Windows Phone-Projekte im Menü Debuggen verfügbar, nachdem Sie das Windows Phone-SDK installiert haben.   Weitere Informationen finden Sie unter App profiling for Windows Phone.   

PerfView

Verwenden Sie dieses Tool, um Leistungsprobleme bezüglich der CPU und des Arbeitsspeichers zu identifizieren.  Dieses Tool verwendet die Ereignisablaufverfolgung für Windows (Event Tracing for Windows, ETW) und CLR-Profilerstellungs-APIs für erweiterte Überprüfungen des Arbeitsspeichers und der CPU sowie zum Bereitstellen von Informationen zur Garbage Collection und zur JIT-Kompilierung.  Weitere Informationen zur Verwendung von PerfView finden Sie im Lernprogramm und in den Hilfedateien, die in der App enthalten sind, in Channel 9-Videolernprogrammen und in Blogbeiträgen.  

Informationen zu arbeitsspeicherspezifischen Problemen finden Sie unter Using PerfView for Memory Investigations.

Windows Performance Analyzer

Verwenden Sie dieses Werkzeug, um die Gesamtsystemleistung zu bestimmen, beispielsweise die Arbeitsspeicher- und Speichernutzung der Anwendung, wenn mehrere Apps auf demselben Computer ausgeführt werden.    Dieses Tool ist im Download-Center als Teil des Windows Assessment and Deployment Kits (ADK) für Windows 8 verfügbar.   Weitere Informationen erhalten Sie unter Windows Performance Analyzer.  

ETW ist eine Technik, mit der Sie Diagnoseinformationen zu ausgeführtem Code abrufen können und die für viele der vorgenannten Leistungswerkzeuge essentiell ist.    Mit ETW werden Protokolle erstellt, wenn bestimmte Ereignisse durch .NET Framework-Anwendungen und Windows ausgelöst werden.    Mit der ETW können Sie die Protokollierung dynamisch aktivieren und deaktivieren, sodass Sie eine ausführliche Ablaufverfolgung in einer Produktionsumgebung durchführen können, ohne die Anwendung neu zu starten.    Das .NET-Framework bietet Unterstützung für ETW-Ereignisse. ETW wird von vielen Profilerstellungs- und Leistungswerkzeugen verwendet, um Leistungsmessdaten zu generieren.   Diese Tools aktivieren und deaktivieren häufig ETW-Ereignisse, sodass es hilfreich ist, wenn Sie mit diesen vertraut sind.   Sie können bestimmte ETW-Ereignisse verwenden, um Leistungsdaten über bestimmte Komponenten der Anwendung zu sammeln.    Weitere Informationen zur Unterstützung von ETW im .NET Framework finden Sie unter ETW-Ereignisse in der Common Language Runtime und ETW-Ereignisse in der Task Parallel Library und PLINQ.   

Für jeden Typ von .NET Framework-Anwendungen gibt es eigene bewährte Methoden, Überlegungen und Werkzeuge für die Auswertung der Leistung.    Die folgende Tabelle enthält Links zu den Leistungsthemen für bestimmte .NET Framework-Anwendungstypen.   

Anwendungstyp

Siehe

.NET Framework-Apps für alle Plattformen

Garbage Collection and Performance

.NET-Leistungstipps

In C++, C# und Visual Basic geschriebene Windows Store-Apps

Bewährte Vorgehensweisen für die Leistungsverbesserung in Windows Store-Apps mit C++, C# und Visual Basic

Windows Phone

App performance considerations for Windows Phone

Windows Phone Application Analysis

Get Your Windows Phone Applications in the Marketplace Faster

Windows Presentation Foundation (WPF)

WPF Performance Suite

Silverlight

Performance tips

ASP.NET

ASP.NET Performance Overview

Windows Forms

Practical Tips for Boosting the Performance of Windows Forms Apps

Titel

Beschreibung

Caching in .NET Framework Applications

Beschreibt Techniken zum Zwischenspeichern von Daten, um die Leistung der Anwendung zu verbessern.

Lazy Initialization

Beschreibt, wie Objekte bei Bedarf initialisiert werden, um die Leistung zu verbessern - insbesondere beim Anwendungsstart.

Reliability

Stellt Informationen zum Verhindern von asynchronen Ausnahmen in einer Serverumgebung bereit.

Schreiben großer, reaktionsfähiger .NET Framework-Apps

Gibt Tipps zur Verbesserung der Leistung aus dem Umschreiben der C#- und Visual Basic-Compiler in verwalteten Code und enthält echte Beispiele aus dem C#-Compiler.

Anzeigen: