Freigeben über


Gewusst wie: Instrumentieren einer dynamisch kompilierten ASP.NET-Webanwendung und Sammeln ausführlicher Zeitsteuerungsdaten über die Profiler-Befehlszeile

In diesem Thema wird beschrieben, wie die Befehlszeilentools der Visual Studio-Profilerstellungstools verwendet werden, um mit der Instrumentationsmethode zur Profilerstellung ausführliche Zeitsteuerungsdaten für eine dynamisch kompilierte ASP.NET-Anwendung zu sammeln.

Tipp

Die Befehlszeilentools der Profilerstellungstools befinden sich im Unterverzeichnis "\Team Tools\Performance Tools" des Visual Studio-Installationsverzeichnisses. Auf 64-Bit-Computern sind 64 Bit- und 32-Bit-Versionen der Tools verfügbar. Damit Sie die Profilerbefehlszeilentools verwenden können, müssen Sie den Pfad des Tools der PATH-Umgebungsvariable des Eingabeaufforderungsfensters oder dem Befehl selbst hinzufügen. Weitere Informationen finden Sie unter Angeben des Pfads zu den Profilerstellungstools für die Befehlszeile.

Um Leistungsdaten von einer ASP.NET-Webanwendung zu erfassen, ändern Sie die Datei "web.config" der Zielanwendung, damit die dynamisch kompilierten Anwendungsdateien mithilfe des Tools VSInstr.exe instrumentiert werden können. Anschließend verwenden Sie das Tool VSPerfCLREnv.cmd, um die entsprechenden Umgebungsvariablen auf dem Webserver festzulegen, sodass die Profilerstellung aktiviert wird. Starten Sie dann den Computer neu.

Starten Sie den Profiler, und führen Sie dann die Zielanwendung aus. Während der Profiler an die Anwendung angefügt ist, können Sie die Datensammlung anhalten und fortsetzen. Wenn Sie Profilerstellung beenden, schließen Sie die Anwendung, schließen Sie den Arbeitsprozess von Internetinformationsdienste (IIS), und beenden Sie dann den Profiler. Stellen Sie nach dem Abschluss der Profilerstellung den ursprünglichen Status der Datei "web.config" und des Webservers wieder her.

Konfigurieren der ASP.NET-Anwendung und des Webservers

So konfigurieren Sie die ASP.NET-Anwendung und den Webserver

  1. Ändern Sie die Datei "web.config" der Zielanwendung. Weitere Informationen finden Sie unter Gewusst wie: Bearbeiten von Web.Config-Dateien zur Instrumentierung und Profilerstellung für dynamisch kompilierte ASP.NET-Webanwendungen.

  2. Öffnen Sie ein Eingabeaufforderungsfenster.

  3. Initialisieren Sie die Umgebungsvariablen für die Profilerstellung. Geben Sie Folgendes ein:

    VSPerfClrEnv /globaltraceon

    • /globaltraceon aktiviert die Profilerstellung mithilfe der Instrumentationsmethode.
  4. Starten Sie den Computer neu.

Ausführen der Profilerstellungssitzung

So führen Sie eine Profilerstellung für die Webanwendung aus

  1. Öffnen Sie ein Eingabeaufforderungsfenster.

  2. Starten Sie den Profiler. Geben Sie Folgendes ein:

    VSPerfCmd /start:trace /output**:**OutputFile[Options]

    • Mit der /start:trace-Option wird der Profiler initialisiert.

    • Die **/output:**OutputFile-Option ist bei /start erforderlich. Das OutputFile-Objekt gibt den Namen und Speicherort der Profilerstellungs-Datendatei (.vsp) an.

    Sie können jede der folgenden Optionen zusammen mit der /start:trace-Option verwenden.

    Tipp

    Die /user-Option und die /crosssession-Option sind normalerweise für ASP.NET-Anwendungen erforderlich.

    Option

    Beschreibung

    /user:[Domain\]UserName

    Gibt die Domäne und den Benutzernamen des Kontos an, das Besitzer des ASP.NET-Arbeitsprozesses ist. Diese Option ist erforderlich, wenn der Prozess als ein Benutzer ausgeführt wird, der nicht der angemeldete Benutzer ist. Der Prozessbesitzer ist auf der Registerkarte "Prozesse" in der Spalte "Benutzername" des Windows Task-Managers aufgeführt.

    /crosssession

    Aktiviert die Profilerstellung für Prozesse in anderen Anmeldesitzungen. Diese Option ist erforderlich, wenn die ASP.NET-Anwendung in einer anderen Sitzung ausgeführt wird. Die Sitzungs-ID wird auf der Registerkarte Prozesse in der Spalte Sitzungs-ID des Windows Task-Managers aufgeführt. /CS kann als Abkürzung für /crosssession angegeben werden.

    /globaloff

    Startet den Profiler mit angehaltener Datensammlung. Mit /globalon setzen Sie die Profilerstellung fort.

    /counter:Config

    Sammelt Informationen aus dem in Config angegebenen Prozessorleistungsindikator. Informationen zu Leistungsindikatoren werden den Daten hinzugefügt, die bei jedem Profilerstellungsereignis gesammelt werden.

    /wincounter:WinCounterPath

    Gibt einen Windows-Leistungsindikator an, dessen Daten während der Profilerstellung gesammelt werden sollen.

    /automark:Interval

    Diese Option kann nur in Kombination mit /wincounter verwendet werden. Gibt die Anzahl von Millisekunden zwischen Ereignissen bei der Datensammlung mit Windows-Leistungsindikatoren an. Der Standardwert ist 500 ms.

    /events:Config

    Gibt ein ETW-Ereignis (Ereignisablaufverfolgung für Windows) an, dessen Daten während der Profilerstellung gesammelt werden sollen. ETW-Ereignisse werden in einer separaten Datei (.etl) gesammelt.

  3. Starten Sie die ASP.NET-Webanwendung auf die gewohnte Weise.

Steuern der Datenauflistung

Während die Zielanwendung ausgeführt wird, können Sie die Datensammlung steuern, indem Sie das Schreiben von Daten in die Profiler-Datendatei mit VSPerfCmd.exe-Optionen starten und beenden. Durch das Steuern der Datensammlung können Sie Daten zu einem bestimmten Teil der Programmausführung sammeln, z. B. zum Starten oder Schließen der Anwendung.

So starten und beenden Sie die Datensammlung

  • Mit den folgenden Optionspaaren wird die Datensammlung gestartet und beendet. Geben Sie jede Option in einer eigenen Befehlszeile an. Sie können die Datensammlung mehrmals aktivieren und deaktivieren.

    Option

    Beschreibung

    /globalon /globaloff

    Startet (/globalon) oder beendet (/globaloff) die Datensammlung für alle Prozesse.

    /processon:PID /processoff:PID

    Startet (/processon) oder beendet (/processoff) die Datensammlung für den mit der Prozess-ID (PID) angegebenen Prozess.

    /threadon:TID /threadoff:TID

    Startet (/threadon) oder beendet (/threadoff) die Datensammlung für den mit der Thread-ID (TID) angegebenen Thread.

  • Sie können auch die /mark-Option von VSPerfCmd.exe verwenden, um eine Profilmarkierung in die Datendatei einzufügen. Der /mark-Befehl fügt einen Bezeichner, einen Zeitstempel und eine optionale benutzerdefinierte Textzeichenfolge hinzu. Mit Markierungen können die Daten in Profilerberichten und Datenansichten gefiltert werden.

Beenden der Profilerstellungssitzung

Um eine Profilerstellungssitzung zu beenden, schließen Sie die ASP.NET-Zielwebanwendung, setzen Sie Internetinformationsdienste (IIS) zurück, um den profilierten Prozess zu beenden, und schließen dann den Profiler.

So beenden Sie eine Profilerstellungssitzung

  1. Schließen Sie die ASP.NET-Webanwendung.

  2. Schließen Sie den ASP.NET-Arbeitsprozess, indem Sie Internetinformationsdienste (IIS) zurücksetzen. Geben Sie Folgendes ein:

    IISReset /stop

  3. Schließen Sie den Profiler. Geben Sie Folgendes ein:

    VSPerfCmd /shutdown

  4. Starten Sie IIS neu. Geben Sie Folgendes ein:

    IISReset /start

Wiederherstellen der Anwendung und der Computerkonfiguration

Wenn Sie alle Profilerstellungsvorgänge abgeschlossen haben, ersetzen Sie die Datei web.config, löschen Sie die Umgebungsvariablen für die Profilerstellung, und starten Sie den Computer neu, um den ursprünglichen Zustand vor der Profilerstellung der Anwendung und des Servers wiederherzustellen.

So stellen Sie die Anwendung und die Computerkonfiguration wieder her

  1. Ersetzen Sie die Datei "web.config" durch eine Kopie der ursprünglichen Datei.

  2. Löschen Sie die Umgebungsvariablen für die Profilerstellung. Geben Sie Folgendes ein:

    VSPerfCmd /globaloff

  3. Starten Sie den Computer neu.

Siehe auch

Konzepte

Profilerstellung für ASP.NET-Webanwendungen über die Befehlszeile

Weitere Ressourcen

Datenansichten der Profiler-Instrumentationsmethode