Know-how: Windows Performance Counter

05.11.2004
Windows bietet mit den integrierten Performance Countern ein mächtiges Werkzeug, um Fehlern in der Systemkonfiguration und Flaschenhälsen auf die Schliche zu kommen. Wir erklären die wichtigsten dieser Leistungsmesser. Von Thomas Wölfer

Ein System am Laufen zu halten ist die wichtigste und zugleich schwierigste Aufgabe eines Systemverwalters. Besonders Zeit raubend sind da Probleme, deren Ursache tief in der Architektur liegt und oftmals nicht auf den ersten Blick ersichtlich ist. Um dem Fehler auf die Schliche zu kommen, ist es sehr hilfreich, die Engpässe und Flaschenhälse des Systems zu kennen und zu lokalisieren.

Genau an diesem Punkt setzen die Windows-eigenen Performance Counter an. Diese überwachen seit Windows NT in der Profi-Line die Leistung der einzelnen Komponenten und stellen sie grafisch dar. Auf den ersten Blick verliert man auf Grund der schieren Masse der verschiedenen Zähler die Übersicht. Hat man sich jedoch einmal eingearbeitet, sind sie ein wertvolles Werkzeug.

Eine Verknüpfung zum Aufruf der Zähler finden Sie in der Verwaltung des Computers. Die Performance Counter verbergen sich hinter dem Punkt Leistung.

Engpässe im System resultieren praktisch immer aus Hardware-Problemen. Dabei kann zu wenig Speicher genauso problematisch sein wie ein zu geringer Netzwerkdurchsatz oder eine überlastete CPU (Webcode: a1471). Im Großen und Ganzen lassen sich die Quellen möglicher Engpässe in sechs Gruppen einteilen:

- CPU-Probleme

- Speicherprobleme

- Festplattenprobleme

- Cache-Probleme

- Netzwerkprobleme

- Engpässe in Multi-CPU-Systemen (auf die hier nicht weiter eingegangen wird)

Ein gegebenes System kann man natürlich für viele Zwecke nutzen. Bei einem Fileserver sind andere Performance-Aspekte entscheidend als bei einem Webserver und ein SMTP-Server stellt andere Anforderungen als ein NNTP-Server oder ein Active Directory-Server. Daher ist es auch recht schwierig, konkrete Hinweise auf die entsprechenden Counter zu geben. Letztendlich hängen die wichtigen Counter davon ab, welchen Server man betreibt und welche Aufgaben dieser im Einzelnen übernehmen soll.

Grundlagen der Performance Counter

Sinnvoll ist es, wenn Sie die verfügbaren Counter mit dem in Windows integrierten System-Monitor einzeln betrachten und untersuchen, ob der jeweilige Counter für Ihren Bedarf sinnvolle Informationen liefert. Sie können beliebig viele Counter auswählen und anzeigen lassen.

Den jeweiligen Zählern kann zur besseren Übersicht eine individuelle Farbe zugeteilt werden. Neben der Darstellung im System-Monitor lassen sich die Zähler auch per WMI und damit per Script auslesen. Wer also will, kann sich seine eigene Script-Sammlung zur Überprüfung der wichtigsten Counter erstellen.

Nicht alle Counter sind von Haus aus verfügbar, durch die Installation neuer Software erhalten Sie auch neue Zähler. Im Fall eines Webservers haben Sie beispielsweise erst nach der Installation von ASP.Net Zugriff auf die entsprechenden Zähler. Die Indikatoren sind also sowohl Teil der Software als auch des Betriebssystems.

Dieser Bericht befasst sich mit den Grundlagen der Performance Counter. Zudem stellen wir Universalzähler vor, die sich stets für die Überwachung des Systems eignen.

Terminologie

Beim Gebrauch der Performance Countern fällt die eigene Terminologie auf. Man spricht von "Objekten" (objects), "Zählern" (counters) und "Instanzen" (instances). Ein "object" entspricht dabei einer Ressource, einer Anwendung oder einem Dienst und ist messbar.

Jedem dieser Objekte sind spezifische "counter" zugeordnet, die verschiedene Leistungsaspekte erfassen. Dazu zählen zum Beispiel Transferraten von Festplatten oder verbrauchte Prozessorzeit. Ebenso gibt es Zähler für die Anzahl übertragener TCP-Pakete, angeforderte Webseiten und andere Informationen.

"Instances" sind Kopien der einzelnen Objekte. Es kann zwar von jedem Objekt weiterhin eine bestimmte Instanz bestehen, allerdings ist nicht überall das Vorhandensein mehrerer Kopien gleichzeitig unterstützt.

Zuvor noch ein Hinweis: Nicht alle Performance Counter sind auf allen Versionen von Windows verfügbar. Die im Folgenden vorgestellten Zähler sind unter Windows 2003 vorhanden und stehen zumindest unter Windows XP Professional ebenfalls zur Verfügung. In den Klammern finden Sie zudem die jeweilige deutsche Bezeichnung.

Engpässe der CPU

Process\% Processor Time

(Prozesse\ Prozessorzeit %)

Der wichtigste Index bei der Messung der CPU-Auslastung zeigt die Zeit in Prozent an, welche die CPU außerhalb des Idle-Threads verbringt. Je mehr Zeit die CPU außerhalb des Idle-Threads verweilt, desto stärker ist die Auslastung.

Processor\% Processor Time

(Prozessor\Prozessorzeit)

Dieser Zähler gibt an, wie viel Prozent der Prozessorzeit tatsächlich zur Ausführung von Instruktionen verwendet wird. Hier handelt es sich um den primären Zähler zum Auffinden von Engpässen der CPU. Je stärker die CPU ausgelastet ist, also je mehr Prozent der Zeit sie sich tatsächlich mit der Ausführung von Instruktionen beschäftigt, umso eher ist es wahrscheinlich, dass die CPU einen maximalen Grad an Auslastung erreicht hat. Abhilfe schafft hier ein stärkerer Prozessor.

System\Processor Queue Length

(System\Prozessor-Warteschlangenlänge)

Dieser Counter zeigt die Anzahl an Threads in der Prozessor-Warteschlange an. Diese Warteschlange ist für sämtliche CPUs gültig. Das bedeutet: Es gibt auch auf einem Multi-CPU-System immer nur eine Warteschlange. Wartet ein Thread zu lange, so scheint das zugehörige Programm stehen zu bleiben. Enthält die Warteschlage dauerhaft mehr als zwei Einträge, deutet das auf eine Überlastung der CPU hin.

Process\% Privileged Time

(Prozesse\Privilegierte Zeit %)

Dieser Zähler zeigt die Zeit an, die der Prozessor im "privileged mode" verbringt. Der "privileged mode" ist dem Betriebssystem und den Hardware-Treibern vorbehalten. Im Gegensatz dazu gibt es noch den "usermode", in dem Anwendungsprogramme ausgeführt werden. Die hier angegebene Zeit enthält auch die Zeit, die für Interrupts aufgewendet wird. Die Prozentzahl berücksichtigt nicht die Idle-Zeit der CPU. Verbringt der Rechner viel Zeit im "privileged mode", ist das oft ein Anzeichen für eine große Anzahl an Interrupts, die von fehlerhaft funktionierenden Geräten ausgelöst werden.

Speicher-Flaschenhälse finden

Memory\Page Faults/sec

(Speicher\Seitenfehler/s)

Dieser Zähler gibt die Anzahl der Seitenfehler pro Sekunde an, wobei sowohl die Anzahl der Hardfaults als auch die der Softfaults enthalten ist. Das ist wichtig, da normale CPUs keine großen Probleme beim Auflösen von Softfaults haben.

Bei Softfaults kann die benötigte Seite aus dem RAM aufgelöst werden. Bei Hardfaults hingegen finden Zugriffe auf die Festplatte statt, und die sind der Leistung selbstverständlich abträglich . Die Hardfaults werden mit anderen Countern gemessen.

Memory\Page Reads/sec

(Speicher\Seitenlesevorgänge/s)

Der Counter zeigt, wie oft pro Sekunde die Festplatte eine ausgelagerte Seite einliest. Es handelt sich um die tatsächliche Anzahl an Lese-Operationen und nicht um die Anzahl der Seiten. Dieser Hardfault tritt ein, wenn ein Prozess auf eine Seite zugreift, die sich zwar im virtuellen Adressraum befindet, aber weder im Working Set des Prozesses noch an einer anderen Stelle im RAM zu finden ist. Eine hohe Anzahl an Page Reads/sec ist meist ein deutliches Zeichen dafür, dass es dem System an Speicher mangelt.

Dafür ist auch der nächste Counter wichtig.

Memory\Page Writes/sec

(Speicher\Seiten-Schreibvorgänge/s)

Der Zähler gibt die Schreiboperationen an, die pro Sekunde stattfinden, um Seiten auszulagern. Dies geschieht, wenn ein Prozess Speicher vom System angefordert hat, aber nicht mehr genug freies RAM verfügbar ist. Bei speicherintensiven Prozessen, die auf einem System mit zu wenig RAM ausgeführt werden, finden viele solcher Schreibzugriffe statt: Ein sicheres Zeichen dafür, dass Sie mehr Speicher im System benötigen.

Relevante Zähler der Festplatten

PhysicalDisk\Current Disk Queue Length

(Physikalischer Datenträger\Aktuelle Warteschlange)

Der Counter zeigt die Menge der Anfragen, die zum Zeitpunkt des Snapshots noch nicht abgearbeitet waren - es handelt sich also um keinen Durchschnittswert. Eine andauernd lange Warteschlange und ein damit ständig hoher Zähler ist ein Zeichen für eine hohe Festplattenauslastung. Eine schnellere Festplatte schafft hier Abhilfe.

Flaschenhälse beim Caching

Memory\Cache Faults/sec

(Speicher\Cache-Fehler/s)

Der Filesystem-Cache ist stark von der Größe des Arbeitsspeichers abhängig und daher an dessen Engpässe gebunden. Dieser Zähler gibt an, wie oft pro Sekunde eine Seite im Filesystem-Cache gesucht, dort aber nicht gefunden wurde. Befindet sich die Seite noch im RAM, handelt es sich um einen Softfault, muss sie von der Festplatte nachgeladen werden, um einen Hardfault. Eine hohe Anzahl an Cache-Faults pro Sekunde bedeutet, dass nicht genug RAM im System vorhanden ist.

Engpässe im Networking

Network Interface\Bytes Total/sec

(Netzwerkschnittstelle usw.)

Der Counter zeigt die Bytes pro Sekunde, die ein Netzwerk-Interface empfängt oder sendet.

Ein gegebenes Netzwerk-Interface kann nur eine vorgegebene Menge an Bytes pro Sekunde übertragen, die Höhe der Bandbreite ist von der verwendeten Netzwerkkarte abhängig.

Mit diesem Zähler ist es also, wie beschrieben, relativ einfach möglich, die Auslastung der Netzwerkkarte zu erfassen. Eine äußerst interessante Information in Bezug auf Server, an die im Zuge der steigenden Anzahl an Nutzern auch die Anforderungen ständig zunehmen.

Glossar

NNTP

Kurz für Network News Transport Protocol. In RFC977 beschriebenes Protokoll zur Übertragung von USENET-Nachrichten. Die Nachrichten des USENET sind in schwarzen Brettern (sogenannten newsgroups) organisiert.

Active Directory

Asymmetic Digital Subscriber Line. Zugangstechnologie, die breitbandige Angebote über die normale Telefonleitung ermöglicht. Die maximale Datenrate im Downstream (von der Vermittlungsstelle zum Teilnehmer) beträgt 8 MBit/s. Im Upstream, der Gegenrichtung, sind bis zu 768 KBit/s erreichbar.

WMI

Windows Management Instrumentation. Microsofts Implementierung von WBEM (Web-based Enterprise Managment) beziehungsweise des Common Information Models (CIM), das von der Distributed Managment Task Force entwickelt wurde.

tecchannel-Praxis "Sicher ins Internet"

tecChannel.de ist die Nummer eins der Online-Fachmedien in Deutschland (IVW 1/04). Auf www.tecChannel.de finden Sie mehr als 1.700 Beiträge und über 14.000 News zu allen Themen der IT. Das kostenlose Online-Programm wird ergänzt durch das noch umfangreichere kostenpflichtige tecCHANNEL-Premium-Programm und die tecCHANNEL-Compact-Buchreihe.

Die neue Ausgabe von tecCHANNEL-Praxis "Sicher ins Internet, Mail, Fax & VPN" beschreibt die Installation und Wartung eines kompletten Kommunikationsservers auf Linux-Basis, mit Sicherheits- und Internetfunktionen. Gerade kleinere Unternehmen behandeln die Inter- und Intranet-Kommunikation nach wie vor stiefmütterlich, wie eine aktuelle Studie des Statistischen Bundesamtes belegt.

tecCHANNEL-Praxis "Sicher ins Internet, Mail, Fax & VPN" bietet bislang ungesicherten Firmen eine Komplettlösung zum Abschotten ihres Netzzugangs.

Die neue tecCHANNEL-Compact erhalten Sie für 12,95 Euro im Bahnhofshandel sowie im Flughafen-Buchhandel. Sie können tecCHANNEL-Compact auch jederzeit direkt im Online-Shop unterwww.tecChannel.de/shop bestellen. Sie erhalten das Buch dann versandkostenfrei zugeschickt.

Zur Startseite