Freigeben über


Grundlagen zu Profilerstellungsmethoden

Von den Profilerstellungstools für Microsoft Visual Studio Premium werden fünf Methoden zum Sammeln von Leistungsdaten bereitgestellt. In diesem Thema werden die verschiedenen Methoden beschrieben sowie einige Szenarien aufgeführt, in denen die Datensammlung mithilfe einer bestimmten Methode erfolgen kann.

Methode

Beschreibung

Sampling

Sammelt statistische Daten zu den von einer Anwendung ausgeführten Aufgaben.

Instrumentation

Dient zum Sammeln ausführlicher Zeitsteuerungsinformationen zu den einzelnen Funktionsaufrufen.

Parallelität

Dient zum Sammeln ausführlicher Informationen zu Multithreadanwendungen.

.NET-Speicher

Dient zum Sammeln ausführlicher Informationen zur .NET-Speicherbelegung und zur Garbage Collection.

Ebeneninteraktion

Sammelt Informationen zu synchronen, an eine SqlServer-Datenbank gerichteten ADO.NET-Funktionsaufrufen.

Mit einigen Profilerstellungsmethoden können auch weitere Daten gesammelt werden, z. B. Software- und Hardwareleistungsindikatoren. Weitere Informationen finden Sie unter Sammeln zusätzlicher Leistungsdaten.

Sampling

Bei der Samplingmethode für die Profilerstellung werden statistische Daten zu den Aufgaben gesammelt, die während einer Profilerstellung von einer Anwendung ausgeführt wurden. Die Samplingmethode ist einfach und wirkt sich kaum auf die Ausführung der Anwendungsmethoden aus.

Sampling ist die Standardmethode der Profilerstellungstools von Microsoft Visual Studio Premium. Es eignet sich für folgende Zwecke:

  • Erstuntersuchung der Anwendungsleistung

  • Untersuchung von Leistungsproblemen, die die Auslastung des Prozessors (CPU) betreffen

Bei der Samplingmethode für die Profilerstellung wird der Prozessor des Computers in festgelegten Abständen unterbrochen, und die Funktionsaufrufliste wird erfasst. Der Wert für exklusive Samplings wird für die ausgeführte Funktion, der Wert für inklusive Samplings für alle aufrufenden Funktionen aus der Aufrufliste erhöht. Samplingberichte enthalten die Gesamtwerte für das Modul, die Funktion, die Quellcodezeile und die Anweisung, für die das Profil erstellt wurde.

Das Samplingintervall wird vom Profiler standardmäßig auf CPU-Zyklen festgelegt. Sie können den Intervalltyp auf einen anderen CPU-Leistungsindikator sowie die Anzahl der Leistungsindikatorereignisse für das Intervall festlegen. Darüber hinaus können Sie auch Profilerstellungsdaten für die Ebeneninteraktion (TIP-Daten) sammeln, die Aufschluss über die Abfragen geben, die über ADO.NET an eine SQL Server-Datenbank gestellt wurden.

Sammeln von Leistungsstatistiken durch Sampling

Grundlagen zu Samplingdatenwerten in Profilerstellungstools

Datenansichten der Profiler-Samplingmethode

Instrumentation

Bei der Instrumentationsmethode zur Profilerstellung werden ausführliche Zeitsteuerungsinformationen für die Funktionsaufrufe in der Anwendung gesammelt, für die das Profil erstellt wird. Mögliche Anwendungsbereiche der instrumentierten Profilerstellung:

  • Untersuchung von Eingabe/Ausgabe-Engpässen (beispielsweise Datenträger-E/A)

  • Gründliche Untersuchung eines bestimmten Moduls oder einer bestimmten Gruppe von Funktionen

Bei der Instrumentationsmethode wird Code in eine Binärdatei eingefügt, um Zeitsteuerungsinformationen zu den einzelnen Funktionen in der instrumentierten Datei sowie alle von diesen Funktionen ausgeführten Funktionsaufrufe zu erfassen. Mit der Instrumentation werden für Vorgänge wie dem Schreiben einer Datei auch Aufrufe des Betriebssystems durch eine Funktion identifiziert. Die Gesamtzeit, die für eine Funktion oder für eine Quellcodezeile aufgewendet wurde, wird in den Instrumentationsberichten mithilfe von vier Werten dargestellt:

  • Verstrichene inklusive Zeit: Die Gesamtzeit, die für das Ausführen der Funktion oder Quellcodezeile aufgewendet wurde.

  • Inklusive Anwendungszeit: Die Zeit, die für das Ausführen der Funktion oder Quellcodezeile aufgewendet wurde, aber ohne die Zeit für Aufrufe des Betriebssystems.

  • Verstrichene exklusive Zeit: Die Zeit, die für das Ausführen von Code im Funktionstext oder in der Quellcodezeile aufgewendet wurde. Die Zeit für das Ausführen von Funktionen, die von der Funktion oder von der Quellcodezeile aufgerufen wurden, wird nicht einbezogen.

  • Exklusive Anwendungszeit: Die Zeit, die für das Ausführen von Code im Funktionstext oder in der Quellcodezeile aufgewendet wurde. Die Zeit für das Ausführen von Aufrufen des Betriebssystems sowie für das Ausführen der Funktionen, die von der Funktion oder von der Quellcodezeile aufgerufen wurden, wird nicht einbezogen.

Mithilfe der Instrumentationsmethode können auch CPU- sowie Softwareleistungsindikatoren gesammelt werden.

Grundlagen zu Instrumentationsdatenwerten in Profilerstellungstools

Sammeln ausführlicher Zeitsteuerungsdaten mithilfe der Instrumentation

Datenansichten der Profiler-Instrumentationsmethode

Parallelität

Bei der Parallelitätsprofilerstellung werden Informationen zu Multithreadanwendungen gesammelt. Bei der Profilerstellung für Ressourcenkonflikte werden immer dann ausführliche Aufruflisteninformationen gesammelt, wenn von konkurrierenden Threads auf den Zugriff auf eine freigegebene Ressource gewartet werden muss. Bei der Parallelitätsschnellansicht werden zusätzlich allgemeinere Informationen zur Interaktion der Multithreadanwendung mit sich selbst, der Hardware, dem Betriebssystem und anderen Prozessen auf dem Hostcomputer gesammelt:

  • Ressourcenkonfliktberichte enthalten für die Module, Funktionen, Quellcodezeilen und Anweisungen, in denen die Verzögerung aufgetreten ist, die Gesamtanzahl von Konflikten sowie die Gesamtwartezeit für eine Ressource. Die aufgetretenen Konflikte werden zudem in Zeitachsendiagrammen dargestellt.

  • In der Parallelitätsschnellansicht werden grafische Informationen angezeigt, die Sie verwenden können, um Leistungsengpässe, CPU-Unterauslastungen, Threadkonflikte, Threadmigration, Synchronisierungsverzögerungen, Bereiche überlappender E/A und andere Informationen zu suchen. Gegebenenfalls wird die grafische Ausgabe mit Aufruflisten- und Quellcodedaten verknüpft. Die Daten für die Parallelitätsschnellansicht können nur für Befehlszeilen- und Windows-Anwendungen gesammelt werden.

Grundlagen zu Ressourcenkonflikt-Datenwerten in Profilerstellungstools

Sammeln von Parallelitätsdaten zu Threads und Prozessen

Ansichten für Ressourcenkonfliktdaten

Parallelitätsschnellansicht

.NET-Arbeitsspeicher

Bei der .NET-Speicherbelegungsmethode zur Profilerstellung wird der Prozessor des Computers bei jeder Belegung eines .NET Framework-Objekts in einer Anwendung unterbrochen, für die das Profil erstellt wird. Wenn auch Objektlebensdauerdaten erfasst werden, unterbricht der Profiler den Prozessor nach jeder .NET Framework-Garbage Collection.

Vom Profiler werden Informationen zu Typ, Größe und Anzahl der Objekte gesammelt, die bei einer Speicherbelegung erstellt oder bei einer Garbage Collection zerstört wurden.

  • Bei Auftreten eines Speicherbelegungsereignisses werden weitere Informationen zur Funktionsaufrufliste gesammelt. Der Wert für exklusive Zuordnungen wird für die derzeit ausgeführte Funktion, der Wert für inklusive Zuordnungen für alle aufrufenden Funktionen aus der Aufrufliste erhöht. .NET-Berichte enthalten die Gesamtwerte für die Typen, Module, Funktionen, Quellcodezeilen und Anweisungen, für die das Profil erstellt wurde.

  • Bei Auftreten einer Garbage Collection werden vom Profiler Daten zu den zerstörten Objekten sowie Informationen zu den Objekten in den einzelnen Garbage Collection-Generationen gesammelt. Am Ende der Profilerstellung werden Daten zu den Objekten erfasst, die nicht explizit zerstört wurden. Der Bericht Objektlebensdauer enthält die Gesamtwerte für jeden Typ, der im Rahmen der Profilerstellung belegt wurde.

Die .NET-Speicherprofilerstellung kann sowohl im Sampling- als auch im Instrumentationsmodus verwendet werden. Der gewählte Modus besitzt keine Auswirkungen auf die Berichte zur Speicherbelegung oder zur Objektlebensdauer, die für die .NET-Speicherprofilerstellung spezifisch sind:

  • Wenn Sie die .NET-Speicherprofilerstellung im Samplingmodus ausführen, werden .NET Speicherbelegungsereignisse als Intervall verwendet. Darüber hinaus werden in den Berichten die Anzahl der belegten Objekte sowie die Gesamtanzahl der belegten Bytes als inklusive und exklusive Werte angezeigt.

  • Wenn Sie die .NET-Speicherprofilerstellung im Instrumentationsmodus ausführen, werden ausführliche Zeitsteuerungsinformationen sowie inklusive und exklusive Speicherbelegungswerte gesammelt.

Datenwerte zur Speicherbelegung und Objektlebensdauer in den Profilerstellungstools

Sammeln von Daten zur .NET-Speicherbelegung und Lebensdauer

.NET-Arbeitsspeicherdatenansichten der Profilerstellungstools

Ebeneninteraktion

Bei der Profilerstellung für die Ebeneninteraktion werden einer Profilerstellungsdatendatei Informationen zu synchronen ADO.NET-Aufrufen zwischen einer ASP.NET-Seite oder einer anderen Anwendung und einer SQL Server-Datenbank hinzugefügt. Die Daten umfassen Anzahl und Zeit der Aufrufe sowie die höchsten und niedrigsten Zeiten. Ebeneninteraktionsdaten können den Profilerstellungsdaten hinzugefügt werden, die mithilfe der Sampling-, Instrumentations-, .NET-Speicher- oder Parallelitätsmethode gesammelt wurden.

Von den Profilerstellungstools gesammelte Ebeneninteraktionsdaten

Profilerstellungsdaten der Ebeneninteraktion

Gewusst wie: Sammeln von Ebeneninteraktionsdaten

Ebeneninteraktions-Ansicht

Siehe auch

Aufgaben

Gewusst wie: Profilerstellung für eine Website oder Webanwendung mit dem Leistungs-Assistenten

Konzepte

Einführung in die Leistungsprofilerstellung