Windows Performance Toolkit und Windows System State Analyzer

© KrishnaKumar Sivaraman, 123RF

Unter dem Mikroskop

Microsoft bietet mit dem Windows Performance Toolkit eine Sammlung von Tools, die dabei helfen, Performance-Probleme bei Servern und langsames Booten von Desktop-Systemen zu untersuchen.
Egal, um welchen Dienst es sich dreht, den Benutzern geht es immer zu langsam. Der Schwerpunkt des ADMIN-Magazins 05/2011 verrät, mit welchen Tools man ... (mehr)

Mit dem kostenlosen Windows Performance Toolkit von Microsoft können Administratoren die Leistung eines Systems analysieren und anschließend Performance-Probleme beheben. Die neue Version des Windows Performance Toolkits ist für die Verwendung mit Windows Server 2008/2008 R2 und Windows Vista/7 optimiert, lässt sich aber auch mit Windows Server 2003 R2 oder XP SP3 einsetzen.

Mit dem Toolkit lassen sich Leistungsengpässe sowie Startprobleme und Verzögerungen von Anwendungen angehen. Auch Verzögerungen beim Booten kann man damit untersuchen. Erfahrene Anwender und Entwickler erhalten mit dem Toolkit die Möglichkeit, Ressourcenmessungen von Anwendungen und Interrupts durchzuführen. Im Gegensatz zur Windows-internen Leistungsüberwachung arbeitet das Tool nicht mit Indikatoren, die man eigens starten muss, sondern verwendet integrierte Messpunkte. Der ebenfalls kostenlose Windows System State Analyzer kann Änderungen am System überprüfen.

Mit den beiden Tools ist eine effiziente Überwachung und Analyse von Servern möglich, die auch Entwicklern dabei hilft, Auswirkungen ihrer Programme auf Windows-Servern zu verstehen. Die beiden Tools erstellen exportierbare Protokolldateien, sodass sich beide auch für das Troubleshooting eignen. Dazu muss der entsprechende Administrator nur die Messung durchführen und diese dem Spezialisten zukommen lassen, der den Fehler analysiert. Auf diesem Weg versucht unter anderem auch der Microsoft-Support, Leistungsprobleme von Kunden zu beheben.

Windows Performance Toolkit

Das Windows Performance Toolkit ist Bestandteil des Windows Software Development Toolkit (SDK), das Sie kostenlos von [1] herunterladen können. Sie benötigen für den Betrieb das Dotnet Framework 4, das Sie unter [2] erhalten. Wollen Sie Windows 7 oder Windows Server 2008 R2 mit dem Tool untersuchen, brauchen Sie das Windows Performance Toolkit 4.7, das zum Windows Software Development Toolkit 7.1 gehört. Sie müssen auf einem Server aber nicht das komplette SDK installieren, sondern können auch einfach aus dem Verzeichnis »Setup\WinSDKPerformanceToolKit_amd64« (64-Bit) oder »WinSDKPerformanceToolKit« (32-Bit) die Installation starten. Die Installation besteht lediglich aus dem Bestätigen einiger Fenster, eine Konfiguration ist nicht notwendig. Das Tool installiert auch keine Treiber oder ständig laufende Hintergrundprozesse. Lediglich die Messungen (Traces) laufen im Hintergrund, wenn Sie diese gestartet haben.

Das Windows Performance Toolkit besteht im Wesentlichen aus den drei Tools Xperf, Xperfview und Xbootmgr. Leistungsmessungen nehmen Sie zunächst mit dem Befehlszeilen-Tool Xperf vor, dem Sie beim Start verschiedene Optionen mitgeben. Während der Analyse speichert es eine Trace-Datei, die Sie später mit Xperfview analysieren. Die Analyse selbst findet in einer grafischen Oberfläche statt, die sehr gute Filtermöglichkeiten und Zoomstufen bietet.

Mit Xbootmgr können Sie wiederum den Bootvorgang des Rechners untersuchen beziehungsweise die entsprechenden Abläufe nach einem Standby oder dem Ruhezustand. Microsoft stellt dazu unter [3] ein umfangreiches Whitepaper zur Verfügung. Um Messungen durchzuführen, müssen Sie sich aber nicht erst durch Hunderte Seiten Whitepaper quälen, sondern erhalten nach der Installation recht schnell ein Messergebnis.

Haben Sie das Windows Performance Toolkit installiert, starten Sie eine einfache Systemanalyse auf folgendem Weg:

  • Öffnen Sie eine Eingabeaufforderung mit Administratorrechten.
  • Geben Sie den Befehl »xperf -start -on diageasy« ein. Alternativ reicht auch die Eingabe von »xperf -on diageasy« .
  • Anschließend läuft das Tool im Hintergrund und misst die Systemleistung.
  • Starten Sie die Programme und Tools, deren Leistung Sie messen wollen. Im Hintergrund misst das Tool die Reaktionszeiten des Computers.
  • Haben Sie alle Aufgaben durchgeführt, die Sie in der Messung berücksichtigen wollen, geben Sie den Befehl »xperf -stop« ein, um die Messung zu beenden. Sie können die Messung auch mit »xperf -d trace.etl« beenden und so alle Daten in die Datei »trace.etl« übernehmen.

Sie erhalten dann die Meldung, dass das Windows Performance Toolkit die Messdatei »C:\kernel.etl« erstellt hat. Beenden Sie den Ablauf mit »xperf -d trace.etl« , liegt die Datei »trace.etl« vor. Um diese zu öffnen, geben Sie »xperf trace.etl« ein.

Reagiert Windows 7 zum Beispiel beim Start zu langsam, können Sie verschiedene Trace-Vorgänge starten. Mit »xperf -on -f kernel.etl« starten Sie einen Trace-Vorgang für den Windows-Basisstart. Anschließend leiten Sie mit »xperf -start UserTrace -on Microsoft-Windows-Win32k -f user.etl« einen weiteren Vorgang parallel zum ersten für die Anmeldung und Messung der Benutzeraktionen ein. Führen Sie dann die problematischen Anwendungen aus und beenden Sie die Trace-Vorgänge mit den Befehlen »xperf -stop UserTrace« und »xperf -stop« .

Die beiden ETL-Dateien können Sie später noch zusammenfügen. Dazu verwenden Sie »xperf -merge user.etl kernel.etl Neuedatei.etl« . Diese Datei analysieren Sie, um festzustellen, warum der Computer langsam reagiert (Abbildung 1).

Abbildung 1: Analysieren einer Trace-Datei nach der Messung.

Wollen Sie zusätzlich noch den Bootvorgang und die damit verbundenen Abläufe messen, verwenden Sie das Tool Xbootmgr. Geben Sie den Befehl »xbootmgr -trace boot -resultpath c:\temp« auf der Befehlszeile an. Anschließend startet das Tool den Computer neu und misst den Bootvorgang. Auch hier speichert das Tool eine ETL-Datei direkt im Pfad »C:\temp« . Den Pfad können Sie dabei frei wählen. Sobald der Bootvorgang abgeschlossen ist, stehen die ETL-Dateien zur Analyse bereit. Den Bootvorgang können Sie auch auf Basis verschiedener anderer Optionen messen lassen, abhängig von der Umgebung, die Sie testen wollen. Folgende Beispiele erstellen vernünftige Analysen:

  • Bootvorgang erweitert: »xbootmgr -trace boot -traceFlags BASE+CSWITCH+DRIVERS+POWER -resultPath C:\temp«
  • Herunterfahren: »xbootmgr -trace shutdown -traceFlags BASE+CSWITCH+DRIVERS+POWER -resultPath C:\temp«
  • Standby: »xbootmgr -trace standby -traceFlags BASE+CSWITCH+DRIVERS+POWER -resultPath C:\temp«
  • Start nach Ruhezustand: »xbootmgr -trace hibernate -traceFlags BASE+CSWITCH+DRIVERS+POWER -resultPath C:\temp«

Erweiterte Analysen mit Xperf

Neben der einfachen Standardanalyse, können Sie mit Xperf auch erweiterte Messungen durchführen. Alle wichtigen Optionen des Tools lassen Sie sich mit dem Befehl »xperf -help start« anzeigen. Wie Sie die Messvorgänge beenden und welche Optionen das Windows Performance Toolkit dafür zur Verfügung stellt, verrät der Befehl »xperf -help stop« . Für Entwickler und erfahrene Administratoren gibt es auch die Möglichkeit, mit »xperf -providers k« eine Liste der Kernel-Flags anzuzeigen, die das Tool verwendet.

Der erste Ansatz für eine Messung ist immer der Befehl »xperf -start -on diageasy« . Dieser erstellt automatisch die Datei »kernel.etl« . Wollen Sie den Namen und Pfad der Messdatei selbst bestimmen, verwenden Sie dafür die Option »-f Dateiname« .

Ähnliche Artikel

comments powered by Disqus

Artikel der Woche

Workshop: Performance-Optimierung von Red Hat Enterprise Linux

Hegen IT-Verantwortliche den Wunsch nach Performance-Gewinnen für die Server-Infrastruktur, ist dies unzureichender Leistung geschuldet oder fehlendem Platz für die Hardware-Erweiterung. Denn mehr Rechenpower lässt sich auf zwei Arten erzielen: Investitionen in zusätzliche Hardware oder die bessere Nutzung vorhandener Ressourcen. Letzteres erfordert einiges an Know-how und erfordert eine genaue Analyse der vorhandenen Umgebung. Dieser Artikel beschreibt die Optimierung von I/O, Netzwerk und CPU auf Basis von Red Hat Enterprise Linux. (mehr)
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Ausgabe /2014

Cloud Computing

Cloud Computing ist für mich

  • ein Buzzword ohne konkrete Auswirkungen auf meine Arbeit.
  • eine sinnvolle Technologie, die ich allerdings so bald nicht einsetzen werde.
  • eine interessante Technologie, die ich bereits praktisch evaluiere.
  • Alltag - ich setze heute bereits Clouds produktiv und erfolgreich ein.
  • alter Wein im neuen Schlauch. Was ist der Unterschied zu Virtualisierung?

Microsoft Azure