Freigeben über


Einführung in die Leistungsprofilerstellung

Dieses Thema gilt für folgende Anwendungsbereiche:

Visual Studio Ultimate

Visual Studio Premium

Visual Studio Professional 

Visual Studio Express

Thema ist vorhanden Thema ist vorhanden Thema ist nicht vorhanden Thema ist nicht vorhanden

In diesem Thema wird eine grundlegende Methode zum Analysieren von Leistungsproblemen in der Anwendung mithilfe der Profilerstellungstools von Visual Studio Premium und Visual Studio Ultimate beschrieben. Zwar steht in den Profilerstellungstools eine Vielzahl von Optionen zur Verfügung, um benutzerdefinierte Leistungsdaten in unterschiedlichsten Anwendungen zu sammeln, in diesem Thema wird jedoch erläutert, wie mithilfe des Profilerstellungs-Assistenten Samplingdaten für eine Visual Studio-Lösung gesammelt werden.

Tipp

Wenn Sie beim Sampling nicht die benötigten Daten erhalten, stehen in den Profilerstellungstools weitere Sammlungsmethoden zur Verfügung, um andere Arten von hilfreichen Informationen zu erhalten. Weitere Informationen zu diesen anderen Methoden finden Sie unter Gewusst wie: Auswählen von Sammlungsmethoden.

In diesem Thema

Grundlegende Konzepte

Vorbereitungsmaßnahmen

Schritt 1: Erstellen und Ausführen einer Leistungssitzung

Schritt 2: Analysieren der Samplingdaten

Schritt 3: Überarbeiten des Codes und erneutes Ausführen des Profilers

Grundlegende Konzepte

Leistungssitzung   Bei Verwendung der Leistungsanalyse wird eine Leistungssitzung erstellt. Diese Sitzung enthält die Konfigurationsdaten zum Sammeln von Leistungsinformationen sowie die Ergebnisse aus mindestens einer ausgeführten Profilerstellung. Nach dem Erstellen der Leistungssitzung wird diese im Fenster "Leistungs-Explorer" angezeigt.

Leistungs-Explorer und die zugehörigen Elemente

  1. Der Name der Profilerstellungssitzung.

  2. Der Ordner Targets enthält die Projekte oder Binärdateien, für die in dieser Sitzung ein Profil erstellt wird.

  3. Der Ordner Reports enthält die Profilerstellungs-Datendateien mindestens einer Sammlungsausführung. Sie können auf einen Dateinamen klicken und Ansichten für die Leistungsinformationen auswählen – beispielsweise Funktionsaufrufe, Speicherbelegungen oder Details bestimmter Funktionen. Die Ansichten werden im Hauptfenster von Visual Studio angezeigt.

Samplingmethode   Beim Sampling handelt es sich um eine statistische Profilerstellungsmethode, die Aufschluss über die Funktionen gibt, von denen in der Anwendung die meisten Benutzermodusarbeiten ausgeführt werden. Das Sampling stellt einen guten Ausgangspunkt für die Suche nach Bereichen dar, in denen sich die Geschwindigkeit der Anwendung optimieren lässt.

Von der Samplingmethode werden in angegebenen Intervallen Informationen zu den in der Anwendung ausgeführten Funktionen gesammelt. Nach Abschluss einer Profilerstellung wird im Hauptfenster von Visual Studio die Ansicht Zusammenfassung angezeigt. In der Ansicht Zusammenfassung wird die aktivste Funktionsaufrufstruktur (Langsamster Pfad) angezeigt, in der die meisten Aufgaben in der Anwendung ausgeführt wurden. Die Ansicht enthält zudem Informationen dazu, von welchen Funktionen die meisten Einzelaufgaben ausgeführt wurden, sowie ein Zeitachsendiagramm, mit dessen Hilfe Sie sich auf bestimmte Segmente der Samplingsitzung konzentrieren können.

Vorbereitungsmaßnahmen

Im Folgenden sind einige Punkte aufgeführt, die vor dem Beginn der Profilerstellung ausgeführt werden können, um das Auftreten unnötiger Probleme zu vermeiden.

Ausführen als Administrator   Wenn Sie auf dem verwendeten Computer kein Administrator sind, führen Sie Visual Studio als Administrator aus, um zu gewährleisten, dass Sie über die erforderlichen Berechtigungen für einige der Funktionen in den Profilerstellungstools verfügen. Klicken Sie hierzu auf die Schaltfläche Start, suchen Sie das Anwendungssymbol für Visual Studio, klicken Sie mit der rechten Maustaste auf das Symbol, und klicken Sie anschließend auf Als Administrator ausführen.

Festlegen der aktiven Buildkonfiguration auf "Release"   Bei Debugbuilds wird zusätzlicher Diagnosecode in die Anwendung eingefügt. Optimierungen, die vom Compiler in Releasebuilds vorgenommen werden, sind in Debugbuilds nicht enthalten. Durch Erstellen eines Profils für die Releaseversion der Anwendung erhalten Sie genauere Daten zur Leistung der Anwendung. Klicken Sie zum Ändern der aktiven Konfiguration im Menü Erstellen auf Konfigurations-Manager, und wählen Sie im Dialogfeld unter Konfiguration der aktuellen Projektmappe die Option Release aus.

Abrufen der Windows-Symboldateien   Vergewissern Sie sich bei der Profilerstellung für Code, von dem Windows-Funktionen aufgerufen werden, dass Sie über die neuesten PDB-Dateien verfügen. Ohne diese Dateien werden in den Berichtsansichten kryptische und schwer verständliche Namen von Windows-Funktionen aufgeführt. Weitere Informationen zum Sicherstellen, dass Sie über die erforderlichen Dateien verfügen, finden Sie unter Gewusst wie: Verweisen auf Windows-Symbolinformationen.

Schritt 1: Erstellen und Ausführen einer Leistungssitzung

Zum Abrufen der zu analysierenden Daten muss zunächst eine Leistungssitzung erstellt und ausgeführt werden. Diese beiden Schritte können mithilfe des Leistungs-Assistenten ausgeführt werden.

So können Sie eine Leistungssitzung erstellen und ausführen

  1. Öffnen Sie die Lösung in Visual Studio.

  2. Klicken Sie im Menü Analyse auf Leistungs-Assistenten starten.

  3. Übernehmen Sie die Standardeinstellung CPU-Sampling (empfohlen), und klicken Sie auf Weiter.

  4. Übernehmen Sie das Standardprojekt, und klicken Sie auf Weiter.

  5. Vergewissern Sie sich, dass das Kontrollkästchen Profilerstellung nach Abschluss des Assistenten starten aktiviert ist, und klicken Sie anschließend auf Fertig stellen.

    Die Anwendung wird gestartet, und die Datensammlung durch den Profiler beginnt.

  6. Verwenden Sie die Funktionen, bei denen möglicherweise Leistungsprobleme vorliegen.

  7. Schließen Sie die Anwendung wie gewohnt.

    Nach Beendigung der Anwendung wird im Hauptfenster von Visual Studio die Ansicht Zusammenfassung mit den Profilerstellungsdaten angezeigt, und im Fenster Leistungs-Explorer erscheint ein Symbol für die neue Sitzung.

Schritt 2: Analysieren der Samplingdaten

Nach Beendigung einer Leistungssitzung wird im Hauptfenster von Visual Studio die Ansicht Zusammenfassung des Profilerstellungsberichts angezeigt.

Beginnen Sie bei der Datenanalyse am besten mit dem langsamsten Pfad, fahren Sie mit der Liste der Funktionen fort, von denen die meisten Aufgaben ausgeführt werden, und richten Sie Ihr Augenmerk schließlich mithilfe der Zeitachsenübersicht auf andere Funktionen. Sie können auch Profilerstellungsvorschläge und Warnungen im Fenster Fehlerliste anzeigen.

Beachten Sie, dass Sie aufgrund der Samplingmethode unter Umständen nicht die benötigten Informationen erhalten. So werden Beispieldaten beispielsweise nur gesammelt, wenn von der Anwendung Benutzermoduscode ausgeführt wird. Aus diesem Grund werden beim Sampling einige Funktionen (beispielsweise Eingabe- und Ausgabevorgänge) nicht erfasst. In den Profilerstellungstools stehen mehrere Sammlungsmethoden zur Verfügung, die es Ihnen ermöglichen, sich auf die wichtigen Daten zu konzentrieren. Weitere Informationen zu den anderen Methoden finden Sie unter Gewusst wie: Auswählen von Sammlungsmethoden.

Jeder nummerierte Bereich in der Abbildung bezieht sich auf einen Schritt in der Prozedur.

Ansicht des Zusammenfassungsberichts für Sampling

So analysieren Sie Samplingdaten

  1. In der Ansicht Zusammenfassung finden Sie unter Langsamster Pfad die Verzweigung der Anwendungsaufrufstruktur mit den höchsten inklusiven Samplings. Hierbei handelt es sich um den Ausführungspfad, der beim Sammeln der Daten am aktivsten war. Hohe inklusive Werte können darauf hindeuten, dass der Algorithmus zum Generieren der Aufrufstruktur optimiert werden kann. Suchen Sie im Code die Funktion, die im Pfad am niedrigsten ist. Beachten Sie, dass der Pfad auch Systemfunktionen oder Funktionen in externen Modulen enthalten kann.

    Profiler - Langsamster Pfad

    1. Mit dem Wert für Inklusive Samplings wird das Pensum angegeben, das von der Funktion und den von der Funktion aufgerufenen Funktionen bewältigt wurde. Ein hohes Maß an inklusiven Samplings deutet auf die insgesamt aufwändigsten Funktionen hin.

    2. Mit dem Wert für Exklusive Samplings wird das bewältigte Pensum des Codes im Funktionstext angegeben – ohne das Pensum der Funktionen, die durch den Code aufgerufen wurden. Ein hohes Maß an exklusiven Samplings deutet auf einen Leistungsengpass in der Funktion selbst hin.

  2. Klicken Sie auf den Funktionsnamen, um die Ansicht Funktionsdetails der Profilerstellungsdaten anzuzeigen. Die Ansicht Funktionsdetails enthält eine grafische Darstellung der Profilerstellungsdaten für die ausgewählte Funktion. Hier werden alle Funktionen angezeigt, von denen die Funktion aufgerufen wurde, sowie alle Funktionen, die von der ausgewählten Funktion aufgerufen wurden.

    • Die Größe der Blöcke der aufrufenden und aufgerufenen Funktionen stellt die relative Häufigkeit dar, mit der die Funktionen aufgerufen wurden oder ein Aufruf durch die Funktionen erfolgt ist.

    • Sie können auf den Namen einer aufrufenden oder aufgerufenen Funktion klicken, um sie in der Funktionsdetailansicht auszuwählen.

    • Im unteren Bereich des Fensters Funktionsdetails wird der eigentliche Funktionscode angezeigt. Sollten Sie beim Untersuchen des Codes eine Möglichkeit zur Leistungsoptimierung finden, klicken Sie auf den Quelldateinamen, um die Datei im Visual Studio-Editor zu öffnen.

  3. Kehren Sie zum Fortsetzen der Analyse zur Ansicht Zusammenfassung zurück, indem Sie in der Dropdownliste Ansicht die Option Zusammenfassung auswählen. Untersuchen Sie dann die Funktionen unter Funktionen, die die meisten Einzelaufgaben durchführen. Diese Liste enthält die Funktionen mit den höchsten exklusiven Samplings. Durch den Code im Funktionstext dieser Funktionen wurde eine Vielzahl von Aufgaben ausgeführt, und er lässt sich unter Umständen optimieren. Klicken Sie zur ausführlicheren Analyse einer bestimmten Funktion auf den Funktionsnamen, um sie in der Ansicht Funktionsdetails anzuzeigen.

    Liste von Funktionen, die die meiste Arbeit erledigen

    Wenn Sie mit der Untersuchung der Profilerstellung fortfahren möchten, können Sie mithilfe der Zeitachse in der Ansicht Zusammenfassung ein Segment der Profilerstellungsdaten erneut analysieren, um die Werte für Langsamster Pfad und Funktionen, die die meisten Einzelaufgaben durchführen eines ausgewählten Segments anzuzeigen. So werden bei der Untersuchung einer kleineren Spitze auf der Zeitachse unter Umständen aufwändige Aufrufstrukturen und Funktionen ersichtlich, die bei der Analyse der gesamten Profilerstellung nicht sichtbar waren.

    Um ein Segment erneut zu analysieren, wählen Sie im Feld Zeitachsenübersicht ein Segment aus, und klicken Sie dann auf Nach Auswahl filtern.

    Leistungszusammenfassung - Zeitachse anzeigen

  4. Der Profiler schlägt zudem anhand eines Satzes von Regeln Möglichkeiten zur Verbesserung der Profilerstellungsausführung vor und erkennt Leistungsprobleme. Wenn ein Problem gefunden wurde, wird im Fenster Fehlerliste eine Warnung angezeigt. Klicken Sie zum Öffnen des Fensters Fehlerliste im Menü Ansicht auf Fehlerliste.

    • Zum Anzeigen der Funktion, die eine Warnung ausgelöst hat, doppelklicken Sie in der Ansicht Funktionsdetails auf die Warnung.

    • Wenn Sie ausführliche Informationen zur Warnung anzeigen möchten, klicken mit der rechten Maustaste auf den Fehler, und klicken Sie dann auf Hilfe zu Fehlern anzeigen

Schritt 3: Überarbeiten des Codes und erneutes Ausführen einer Sitzung

Nachdem Sie Funktionen mit Optimierungsbedarf gefunden und optimiert haben, können Sie die Profilerstellung wiederholen und die Daten vergleichen, um zu ermitteln, wie sich die vorgenommenen Änderungen auf die Anwendungsleistung ausgewirkt haben.

So können Sie den Code überarbeiten und den Profiler erneut ausführen

  1. Ändern Sie den Code.

  2. Klicken Sie zum Öffnen des Leistungs-Explorers im Menü Ansicht auf Weitere Fenster und anschließend auf Leistungs-Explorer.

  3. Klicken Sie im Leistungs-Explorer mit der rechten Maustaste auf die Sitzung, die Sie erneut ausführen möchten, und klicken Sie anschließend auf Mit Profilerstellung starten.

  4. Nach dem erneuten Ausführen der Sitzung wird dem Ordner Berichte für die Sitzung im Leistungs-Explorer eine weitere Datendatei hinzugefügt. Wählen Sie sowohl die ursprünglichen als auch die neuen Profilerstellungsdaten aus, klicken Sie mit der rechten Maustaste auf die Auswahl, und klicken Sie anschließend auf Leistungsberichte vergleichen.

    Ein neues Berichtsfenster mit den Ergebnissen des Vergleichs wird geöffnet. Weitere Informationen zum Verwenden der Vergleichsansicht finden Sie unter Gewusst wie: Vergleichen der Profilerdatendateien.

Siehe auch

Konzepte

Analysieren der Anwendungsleistung mithilfe der Profilerstellungstools

Erste Schritte mit Profilerstellungstools

Weitere Ressourcen

Übersichten (Profilerstellungstools)