Laufzeit-Profilerstellung

Die Profilerstellung ist eine Methode zum Sammeln von Leistungsdaten in einer beliebigen Umgebung bzw. einem beliebigen Bereitstellungsszenario. Dieser Abschnitt wurde für Entwickler und Systemadministratoren verfasst, die Informationen über die Anwendungsleistung zusammentragen möchten.

Verfolgen der Leistung unter Verwendung des Leistungsmonitors (Perfmon.exe)

Der Leistungsmonitor (bzw. die Zuverlässigkeits- und Leistungsüberwachung in Windows Vista und Windows 7) ist das am leichtesten zu handhabende Tool zur Profilerstellung für die .NET Framework-Anwendung. Der Leistungsmonitor stellt die Daten aus den .NET Framework-Leistungsindikatoren, die mit der Common Language Runtime und Windows Software Development Kit (SDK) installiert werden, grafisch dar. Diese Zähler können zum Überwachen aller Leistungsaspekte, von der Speicherverwaltung bis zur Leistung des JIT-Compilers (Just-In-Time-Compilers), verwendet werden. Sie geben Auskunft über die von der Anwendung verwendeten Ressourcen, aus denen Sie Schlüsse bezüglich der Anwendungsleistung ziehen können. Verwenden Sie diese Indikatoren, um zu verstehen, wie die Anwendung intern funktioniert.

So führen Sie "Perfmon.exe" unter Windows XP aus

  1. Geben Sie an der Eingabeaufforderung perfmon ein. Die Verwaltungskonsole Leistung wird angezeigt.

  2. Klicken Sie auf der Symbolleiste auf das Symbol Hinzufügen (das Pluszeichen), sofern es vorhanden ist. Klicken Sie andernfalls mit der rechten Maustaste in das Monitorfenster, und aktivieren Sie die Option Leistungsindikatoren hinzufügen.

    Dadurch wird das Dialogfeld Indikatoren hinzufügen geöffnet, das die verfügbaren Leistungsobjekte und Indikatoren anzeigt. Für .NET Framework-Anwendungen sind eine Reihe vordefinierter Objekte verfügbar, einschließlich der Indikatoren für Speicherverwaltung (.NET CLR Memory), Interoperabilität (.NET CLR Interop), Ausnahmebehandlung (.NET CLR Exceptions) und Multithreading (.NET CLR LocksAndThreads). Jedes .NET Framework-Leistungsobjekt schließt eine Reihe von einzelnen Leistungsindikatoren ein.

  3. Klicken Sie in der Liste Leistungsobjekt auf das Leistungsobjekt, das Sie anzeigen möchten.

  4. Klicken Sie in der Indikatorenliste auf den Leistungsindikator, den Sie anzeigen möchten.

  5. Klicken Sie auf Alle Instanzen, um anzugeben, dass Sie den Leistungsindikator für die Common Language Runtime global (das heißt, auf einer systemweiten Basis) überwachen möchten.

    – oder –

    Klicken Sie auf Instanzen aus Liste auswählen, und klicken Sie auf eine Anwendung, um den Leistungsindikator für diese Anwendung zu überwachen.

    Um mehrere Versionen der Laufzeit zu unterscheiden, oder um mehrere Anwendungen mit dem gleichen Namen eindeutig zu machen, müssen Sie auch einen Registrierungsschlüssel ändern. Weitere Informationen finden Sie unter Leistungsindikatoren und prozessinterne parallele Anwendungen.

So führen Sie Perfmon.exe auf Windows Vista und Windows 7 aus

  1. Geben Sie an der Eingabeaufforderung perfmon ein. Die Konsole Zuverlässigkeits- und Leistungsüberwachung (in Windows Vista) oder die Konsole Systemmonitor (in Windows7) wird angezeigt.

  2. Klicken Sie im Ordner Überwachungstools auf Leistungsmonitor.

  3. Klicken Sie auf der Symbolleiste für den Systemmonitor auf das Symbol Hinzufügen (das Pluszeichen), sofern es vorhanden ist. Klicken Sie andernfalls mit der rechten Maustaste in das Monitorfenster, und aktivieren Sie die Option Leistungsindikatoren hinzufügen.

    Das Dialogfeld Leistungsindikatoren hinzufügen wird geöffnet. Das Listenfeld Verfügbare Indikatoren zeigt die verfügbaren Leistungsobjekte an. Für .NET Framework-Anwendungen sind eine Reihe vordefinierter Objekte verfügbar, einschließlich der Indikatoren für Speicherverwaltung (.NET CLR Memory), Interoperabilität (.NET CLR Interop), Ausnahmebehandlung (.NET CLR Exceptions) und Multithreading (.NET CLR LocksAndThreads). Jedes Leistungsobjekt schließt eine Reihe von einzelnen Leistungsindikatoren ein.

  4. Aktivieren Sie das Kontrollkästchen neben dem Namen eines Leistungsobjekts, um die Liste der einzelnen Leistungsindikatoren anzuzeigen, die unterstützt werden.

  5. Klicken Sie auf den Leistungsindikator, den Sie anzeigen möchten.

  6. Klicken Sie im Listenfeld Instanzen des ausgewählten Objekts auf <Alle Instanzen>, um anzugeben, dass Sie den Leistungsindikator für die Common Language Runtime global (das heißt systemweit) überwachen möchten.

    – oder –

    Klicken Sie im Listenfeld Instanzen des ausgewählten Objekts auf einen Anwendungsnamen, um den Leistungsindikator für diese Anwendung zu überwachen.

    Um mehrere Versionen der Laufzeit zu unterscheiden, oder um mehrere Anwendungen mit dem gleichen Namen eindeutig zu machen, müssen Sie auch einen Registrierungsschlüssel ändern. Weitere Informationen finden Sie unter Leistungsindikatoren und prozessinterne parallele Anwendungen.

HinweisHinweis

Wenn neue Leistungsindikatoren installiert werden, während die Leistungskonsole ausgeführt wird, beenden und starten Sie die Konsole neu, damit die neuen Indikatoren angezeigt werden.

Wenn Sie eine Profilerstellung für eine Assembly durchführen möchten, die sich in einer Zone oder in einer Remotefreigabe befindet, müssen Sie sicherstellen, dass die Remoteassembly auf dem Computer, auf dem die Leistungsindikatoren ausgeführt werden, volle Vertrauenswürdigkeit besitzt. Wenn die Assembly nicht vollständig vertrauenswürdig ist, funktionieren die Leistungsindikatoren nicht. Informationen über das Gewähren von Vertrauenswürdigkeit für verschiedene Zonen finden Sie unter Caspol.exe (Richtlinientool für die Codezugriffssicherheit).

HinweisHinweis

Auf Systemen, auf denen .NET Framework 4 installiert ist, kann der Systemmonitor Daten für Leistungsindikatoren in einige Kategorien in einigen Kategorien, wie z. B. .NET CLR-Daten und .NET CLR-Netzwerk, für Anwendungen, die mithilfe von .NET Framework 1.1 entwickelt wurden, nicht anzeigen.Wenn dies der Fall ist, können Sie den Systemmonitor so konfigurieren, dass er diese Daten anzeigt, indem Sie das <forcePerformanceCounterUniqueSharedMemoryReads>-Element der Anwendungskonfigurationsdatei hinzufügen.

Programmgesteuertes Lesen und Erstellen von Leistungsindikatoren

.NET Framework stellt Klassen bereit, die Sie für den programmgesteuerten Zugriff auf dieselben Leistungsdaten verwenden können, die auch in der Verwaltungskonsole Leistung verfügbar sind. Diese Klassen können Sie auch zum Erstellen von Leistungsindikatoren verwenden. In der folgenden Tabelle werden einige der Leistungsüberwachungsklassen beschrieben, die in .NET Framework verfügbar sind.

Klasse

Beschreibungen

System.Diagnostics.PerformanceCounter

Stellt eine Komponente eines Windows NT-Leistungsindikators dar. Verwenden Sie diese Klassen zum Lesen vorhandener vordefinierter oder benutzerdefinierter Zähler und zum Schreiben von Leistungsdaten in benutzerdefinierte Zähler.

System.Diagnostics.PerformanceCounterCategory

Stellt mehrere Methoden zum Zusammenwirken mit Zählern und Kategorien von Zählern auf dem Computer bereit.

System.Diagnostics.PerformanceCounterInstaller

Gibt ein Installationsprogramm für die PerformanceCounter-Komponente an.

System.Diagnostics.PerformanceCounterType

Gibt die Formel an, mit der die NextValue-Methode für PerformanceCounter berechnet wird.

Siehe auch

Konzepte

Leistungsindikatoren für ASP.NET

Sicherheitsrichtlinienmodell

Weitere Ressourcen

Leistungsindikatoren in .NET Framework