3.5 Mein Freund, der Systemmonitor
Sie haben zwar in den vorangegangenen Abschnitten jede Menge Details über Server, Speicher, Festplatten, Prozessoren und dergleichen mehr gehört, ich bin Ihnen aber noch die Antwort(en) schuldig geblieben, wie Sie nun konkret für Ihren Anwendungsfall ermitteln, welche Hardwarekonfiguration benötigt wird.
Man kann hier natürlich mit Schätz- und Erfahrungswerten operieren, aber es geht auch präziser, wobei es zwei Ansätze gibt:
- Der Hersteller der Software nennt Ihnen genaue Performance-Anforderungen, beispielsweise: Pro Benutzer werden 2 MB Hauptspeicher und 3,45 IO-Operationen auf der Datenfestplatte benötigt. Leider sind solcherlei präzise Informationen Mangelware, was unter anderem daran liegt, dass die Art und Weise, wie der einzelne Benutzer die Software nutzt, von Unternehmen zu Unternehmen stark abweichen kann. Pauschalaussagen werden damit wertlos.
- Falls die Anwendung, die auf einem neuen Server ausgeführt werden soll, bereits im Unternehmen auf einer anderen Maschine ausgeführt wird, kann man dort Messungen vornehmen und auf die konkreten Anforderungen schließen.
Aktuelle Performance-Werte zu messen und zu analysieren ist natürlich nicht nur bei der Neubeschaffung eines Servers eine gute Idee. Auch wenn der Verdacht auf einen Performance-Engpass besteht, ist Messen die einzig sinnvolle Option.
Im Übrigen macht es durchaus Sinn, nach der Einrichtung eines neuen Systems einige »grundlegende« Messwerte zu erfassen, um später Vergleichsmöglichkeiten zu haben (Baselining). Ein absoluter Wert wie ein Performance-Bedarf von 500 IOPS auf dem Datenbank-RAID-Set ist zwar nicht uninteressant. Viel wertvoller ist es aber, wenn Sie auch eine Relation bilden können und wissen, dass die Performance-Anforderung vor einem halben Jahr nur halb so groß war. Mit dieser Zusatzinformation ist es viel einfacher, die Messdaten in Relation zu einem gegebenenfalls vorhandenen (Performance-)Problem zu setzen.
Das Erfassen von Performance-Daten ist in der Windows Server-Welt sehr einfach. Bereits die ersten Versionen von Windows NT enthielten den Systemmonitor, der sich teilweise auch Leistungsmonitor oder Performancemonitor nennt. In Windows Server 2008/2012/R2 und übrigens auch bei Windows Vista/7/8/8.1 ist er ein wenig versteckt – das MMC Snap-In, in das der Systemmonitor integriert worden ist, heißt mittlerweile Zuverlässigkeit und Leistung. Es gibt drei »Standardmöglichkeiten«, um den Systemmonitor zu starten:
- Sie können natürlich die MMC starten (Ausführen · mmc.exe) und das Snap-In Zuverlässigkeit und Leistung hinzufügen (Abbildung 3.20 vorn).
- In der Computerverwaltung ist das Snap-In bereits integriert (Abbildung 3.20 hinten).
- Außerdem ist dieses Mess- und Überwachungswerkzeug im Server-Manager vorhanden (Abbildung 3.21).
Abbildung 3.20 Der Systemmonitor ist in das Snap-In »Zuverlässigkeit und Leistung« integriert. Sie können es direkt in der MMC öffnen, außerdem ist es in der Computerverwaltung ...
Abbildung 3.21 ... und dem Server-Manager integriert. Die hier gezeigte Ressourcenübersicht erreicht man übrigens auch über den Task-Manager.
Selektiert man den obersten Knoten des Snap-Ins, wird übrigens die Ressourcenübersicht angezeigt, die in Abbildung 3.21 zu sehen ist. Die Ressourcenübersicht liefert einen wesentlich fundierteren »Gesundheitsüberblick« als die altbekannte Leistungs-Ansicht des Task-Managers. Die Ressourcenübersicht kann übrigens, quasi als Standalone-Applikation, aus dem Task-Manager heraus gestartet werden:
- Rufen Sie den Task-Manager auf.
- Wechseln Sie auf die Registerkarte Leistung.
- Klicken Sie dort auf die Schaltfläche Ressourcenmonitor.
Die Ressourcenübersicht ist kein Analysewerkzeug, sondern bietet einen ersten flüchtigen Überblick. Dieser ist aber bereits wesentlich aussagekräftiger als die altbekannte Task-Manager-Ansicht, da er zumindest die vier wesentlichen Komponenten (CPU, Datenträger, Speicher, Netzwerk) eines Servers berücksichtigt und nicht nur die Prozessorbelastung darstellt.
3.5.1 Leistungsindikatoren, Objekte und Instanzen
Beim ersten Aufrufen des Systemmonitors werden Sie auf der Anzeigefläche eine einzige Messkurve sehen, nämlich die prozentuale Prozessorzeit. Standardmäßig umfasst die Anzeigefläche eine Minute. Ist der rechte Rand erreicht, beginnt die Anzeige wieder von vorn. Sie können den Systemmonitor mit dem Parameter Bildlaufstil (den Sie über den Eigenschaftendialog erreichen) aber auch dahingehend anpassen, dass die alten Werte aus der Anzeigefläche »herausgeschoben« werden.
Abbildung 3.22 Der Systemmonitor beim ersten Aufrufen
Da Sie sich bei Ihren Performance-Analysen vermutlich nicht auf die standardmäßig vorhandene Prozessorauslastung beschränken möchten, geht es nun darum, weitere Leistungsindikatoren hinzuzufügen. Dazu klickt man zunächst auf das große grüne Kreuz oberhalb der Anzeigefläche, das Sie nicht in die nächste Apotheke, sondern zu dem in Abbildung 3.23 gezeigten Dialog bringt:
Abbildung 3.23 Die Auswahl von Leistungsindikatoren
- Zunächst können Sie bestimmen, von welchem Computer Sie Leistungsindikatoren hinzufügen möchten. Standardmäßig ist der lokale Computer ausgewählt.
- In der darunterliegenden Listbox werden jede Menge fettgedruckte Kategorienamen angezeigt, beispielsweise Physikalischer Datenträger. Dabei handelt es sich um Objekte, die jeweils mehrere Leistungsindikatoren beinhalten. Das Objekt Physikalischer Datenträger enthält also alle diesbezüglichen Indikatoren. Durch einen Klick auf das Plus- oder Minuszeichen hinter dem Objektnamen kann die Liste der Indikatoren auf- oder zugeklappt werden.
- Die Liste unterhalb der Objektliste zeigt die Instanzen des ausgewählten Objekts. Für das Objekt Physikalischer Datenträger kann es auf einem Server mehrere Instanzen geben, denn schließlich kann dieser mehrere Festplatten/RAID-Sets haben. Im Allgemeinen gibt es neben den »Einzelinstanzen« eine _Total-Instanz, die so etwas wie eine Kumulation darstellt.
Sie können nun einen oder mehrere Leistungsindikatoren auswählen und durch Klick auf die Schaltfläche Hinzufügen >> anzeigen lassen. Sie haben übrigens auch die Möglichkeit, das Objekt hinzuzufügen; dann werden in der Ansicht sämtliche zugehörigen Leistungsindikatoren zu sehen sein.
Indikatoren
Die Schwierigkeit bei der Arbeit mit dem Systemmonitor ist, dass es nicht ganz trivial ist, die »richtigen« Leistungsindikatoren auszuwählen. Ein Windows Server ist standardmäßig mit Hunderten von Indikatoren ausgestattet, und viele Applikationsserver, beispielsweise SQL Server, Exchange Server oder SharePoint Server bringen ihrerseits nochmals Dutzende bis Hunderte Indikatoren mit, die bei der Installation hinzugefügt werden.
In der Microsoft-Dokumentation und natürlich auch in diesem Buch finden sich immer wieder Hinweise auf Indikatoren, die man im Auge behalten sollte. Einige erste Hinweise auf grundlegende Leistungsindikatoren und die Arbeit mit den gemessenen Daten finden Sie einige Seiten weiter hinten in Abschnitt 3.6, »Dimensionierung und Performance«.
Abbildung 3.24 zeigt die Anzeige mit den zusätzlichen Leistungsindikatoren. Sie können einen Indikator anklicken und erhalten dazu einige Zahlenwerte, wie Durchschnitt, Minimum oder Maximum. Vielleicht fragen Sie sich, woraus der Durchschnitt gebildet wird, und zeichnet Ihnen die Angabe Dauer (Standardwert: 1:40) auch ein Fragezeichen ins Gesicht?
Abbildung 3.24 Eine Messung mit mehreren Leistungsindikatoren
Der Systemmonitor ist natürlich konfigurierbar. Den Eigenschaftendialog erreichen Sie über das Kontextmenü der Anzeigefläche. Es gibt eine ganze Menge einzustellen. Unter anderem finden sich auf der Registerkarte Allgemein Konfigurationsmöglichkeiten für die Messwerterfassung (Abbildung 3.25):
- In der mit Stichprobe alle beschrifteten Textbox stellen Sie ein, wie häufig die Messung erfolgen soll. Standardmäßig ist das einmal pro Sekunde.
- Mit der Textbox Dauer können Sie den Zeitraum für die Bildung des Durchschnittswerts festlegen.
Bei der Darstellung verschiedener Leistungsindikatoren ist die Skalierung ein gewisses Problem:
- Prozentwerte, wie die prozentuale Prozessorauslastung, haben einen Wert zwischen 0 und 100.
- Werte, wie die Warteschlangenlänge, sind (optimalerweise) irgendwo zwischen 0 und 10 anzusiedeln.
- Leistungsindikatoren, wie die pro Sekunde übertragenen Bytes, gehen leicht in die Größenordnung von mehreren Millionen.
Abbildung 3.25 Im Eigenschaftendialog können einige grundlegende Parameter konfiguriert werden, unter anderem die Darstellung und die Häufigkeit der Messwerterfassung.
Um alle Messdaten übersichtlich auf eine einzige Anzeigefläche zu bekommen, muss skaliert werden. Prinzipiell erledigt der Systemmonitor das automatisch, es kann allerdings im Laufe einer Messung notwendig werden, »nachzuskalieren«. Dafür gibt es zwei Möglichkeiten:
- Man lässt dies von der im Kontextmenü des Leistungsindikators vorhandenen Funktion
automatisch erledigen (Abbildung 3.26).
Abbildung 3.26 Im Kontextmenü wird eine Funktion zum Skalieren von Leistungsindikatoren angeboten, aber ...
- Alternativ gibt es im Eigenschaftendialog, Registerkarte Daten, auch eine manuelle Einstellmöglichkeit (Abbildung 3.27). In diesem Dialog lassen sich auch Farbe, Breite und Stil festlegen.
Abbildung 3.27 ... man kann die Skalierung auch von Hand vornehmen.
Der in Abbildung 3.27 gezeigte Dialog bietet noch diverse weitere Einstellungen, die ich an dieser Stelle aber nicht weiter »durchkauen« möchte – schauen Sie einfach über die Dialoge, sie sollten so weit selbsterklärend sein.
3.5.2 Protokoll erstellen
Die Leistungsdaten des Servers in grafischer Form auf den Bildschirm zeichnen zu lassen ist zwar schon mal ganz gut, hat aber mit »dem wahren Leben« herzlich wenig zu tun. In der Praxis stehen zwei Aspekte im Vordergrund:
- das Messen über einen längeren Zeitraum und nicht nur eine Momentaufnahme von einer Minute
- das Abspeichern von Messdaten, um diese zu einem späteren Zeitpunkt analysieren zu können oder um mit Kollegen oder Beratern darüber diskutieren zu können
Falls Sie bereits Leistungsprotokolle mit Windows Server 2003 (und älteren Versionen) erstellt haben, wird Ihnen die nachfolgend gezeigte Vorgehensweise zwar bekannt vorkommen, allerdings hat sich an der »Optik« einiges geändert. Wenn Sie ein (gespeichertes) Protokoll benötigen, beginnen Sie mit der Erstellung eines Sammlungssatzes, so wie in Abbildung 3.28 gezeigt.
Abbildung 3.28 Benötigt man ein Protokoll, erstellt man zunächst einen neuen Sammlungssatz.
Wie erwartet werden Sie bei der Erstellung des Sammlungssatzes von einem Assistenten geführt:
- Zunächst können Sie auswählen, ob der neue Sammlungssatz aus einer Vorlage erstellt
werden soll oder ob Sie »bei null« anfangen möchten (Abbildung 3.29). Wenn Sie eine »Standardaufgabe« erledigen möchten (wie das Messen einer recht allgemeinen
Hardware-Performance-Baseline), können Sie sich für die Verwendung einer Vorlage entscheiden.
Später können Sie natürlich auch aus individuell angepassten Sammlungssätzen eigene
Vorlagen erstellen.
Abbildung 3.29 Beim Erstellen eines Sammlungssatzes werden Sie von einem Assistenten geführt. Falls bereits eine passende Vorlage vorhanden ist, geht es noch einfacher und schneller.
- Im nächsten Dialog können Sie eine Vorlage auswählen. Abbildung 3.30 zeigt die vier standardmäßig vorhandenen Vorlagen. Um eine recht allgemeine Messung zur Bestimmung einiger hardwarenaher Daten zu erstellen, können Sie die Vorlage System Performance auswählen. Was in dieser Vorlage eingetragen ist, werden wir ein wenig später noch betrachten.
- Der nächste Schritt ist das Festlegen des Speicherorts für die Daten. Der Dialog ist
letztendlich trivial (Abbildung 3.31), die Eingabe sollte aber einigermaßen gut überlegt sein. Wenn Sie eine sehr große
Messung durchführen (also viele Leistungsindikatoren mit vielen Messungen über einen
langen Zeitraum), könnte sich die C-Platte als ungünstiger Speicherort herausstellen.
Die Reports können durchaus einige Hundert MB und mehr groß werden.
Abbildung 3.31 Bei der Wahl des Speicherorts sollten Sie die zu erwartende Größe berücksichtigen. Wenn Sie einige Tage mit hoher Messfrequenz viele Daten erfassen, ist C: eventuell nicht der beste Ort.
- Auf der letzten Seite des Assistenten ist insbesondere der Ausführen als-Parameter interessant. Standardmäßig wird die Messwerterfassung mit dem lokalen SYSTEM-Konto
vorgenommen. Das ist wunderbar, solange Sie wirklich nur auf dem System messen, auf
dem auch der Systemmonitor läuft. Wenn Sie auf einem anderen System messen möchten,
müssen Sie die Messung mit einem entsprechend berechtigten Domänenbenutzerkonto durchführen.
Abbildung 3.32 Die Option »Ausführen als« ist insbesondere dann wichtig, wenn Sie Messdaten von einem entfernten PC erheben möchten.
Wenn der Assistent seine Arbeit abgeschlossen hat, kann man das Ergebnis untersuchen – es sollte ein neuer benutzerdefinierter Sammlungssatz erstellt worden sein. Wenn Sie in der Baumansicht den neuen Sammlungssatz selektieren, wird in der rechten Hälfte des Fensters ein Eintrag namens Performance Counter erscheinen (Abbildung 3.33). In dessen Eigenschaftendialog können Sie sehen, was gemessen wird:
- Zunächst sind die zu messenden Leistungsindikatoren zu sehen. In der Listbox sind in etwa ein Dutzend Objekte vorhanden (darin sind jeweils mehrere Leistungsindikatoren enthalten). Dass man in Protokollen keine einzelnen Indikatoren auswählt, sondern immer direkt das ganze Objekt in die Messung aufnimmt, ist gängige Praxis. Häufig weiß man beim Erstellen der Messung noch nicht bis ins letzte Detail, welche Leistungsindikatoren bei der Analyse vielleicht hilfreich sein könnten, daher ist es schon sinnvoll, das komplette Objekt »an Bord« zu haben.
- Als Protokollformat ist standardmäßig Binär ausgewählt. Alternativ gibt es Textformate, außerdem ist eine Protokollierung auf einem Datenbankserver möglich.
- Der Parameter Abtastintervall (»Wie oft soll ich messen?«) ist ebenso wichtig wie selbsterklärend.
Abbildung 3.33 Die Leistungsindikatoren sind in diesem Fall bereits durch die verwendete Vorlage hinzugefügt worden. Eventuell empfiehlt sich die Anpassung des Abtastintervalls.
Falls Sie bei der Erstellung des Sammlungssatzes nicht zu einer Vorlage gegriffen haben, müssen Sie die zu messenden Leistungsindikatoren bzw. Objekte manuell eintragen. Beim Klick auf Hinzufügen erscheint derselbe Auswahldialog, der auch zum Hinzufügen von Leistungsindikatoren für die »Direktübertragung« verwendet wird (Abbildung 3.23).
Zum Schluss sollten Sie noch einen Blick in die Eigenschaften des Sammlungssatzes werfen. Ich finde, dass insbesondere die Registerkarten Zeitplan und Stoppbedingung interessant sind (Abbildung 3.34):
- Das Starten und Stoppen der Messung können Sie entweder im Kontextmenü des Sammlungssatzes steuern; alternativ können Sie einen mehr oder weniger komplexen Zeitplan aufstellen – klicken Sie auf Hinzufügen, um Zeitpläne zu erstellen.
- Auf der Registerkarte Stoppbedingung ist eine Gesamtdauer von einer Minute voreingestellt. Das führt dazu, dass auch eine manuell gestartete Messung nach einer Minute Laufzeit beendet wird. Dies werden Sie in den meisten Fällen direkt ändern wollen.
Abbildung 3.34 In den Eigenschaften des Sammlungssatzes können unter anderem ein Zeitplan und Stoppbedingungen hinterlegt werden.
3.5.3 Protokoll untersuchen
Das gespeicherte Protokoll (Dateiendung: *.blg) kann nun analysiert werden. Das geht übrigens nicht nur auf einem beliebigen Windows Server 2008/2012/R2, sondern auch auf einem Windows-Vista/7/8/8.1-Client.
Um eine Protokolldatei auszuwählen, klicken Sie auf das zweite Symbol von links (in Abbildung 3.35 zeigt die linke obere Ecke des geöffneten Eigenschaftendialogs darauf). In dem sich nun öffnenden Dialog können Sie eine oder mehrere Protokolldateien hinzufügen (Abbildung 3.35). Falls die Protokollierung in eine Datenbank erfolgte, können in diesem Dialog die benötigten Parameter eingetragen werden.
Wenn Sie nun auf die Schaltfläche Zeitraum klicken, werden Start- und Endzeit der geladenen Protokolle ermittelt – auf Wunsch können Sie den zu analysierenden Zeitraum mit den Schiebereglern einschränken.
Nun können Sie die für die Analyse benötigten Leistungsindikatoren hinzufügen. Das funktioniert so wie bei der »Life-Ansicht« mit dem großen grünen Kreuz – mit dem Unterschied allerdings, dass nur die Leistungsindikatoren hinzugefügt werden können, die auch tatsächlich im Messprotokoll vorhanden sind. Der Dialog entspricht demjenigen der »Life-Ansicht«, allerdings sind deutlich weniger Objekte zu sehen – schließlich ist ja auch nur ein kleiner Teil gemessen worden (Abbildung 3.36, vergleiche auch Abbildung 3.23).
Auf der Anzeigefläche kann ein näher zu untersuchender Zeitraum markiert werden und dann mit der Schaltfläche Zoom »herausvergrößert« werden. So lassen sich besonders interessante Zeitabschnitte problemlos noch genauer, weil vergrößert, anzeigen (Abbildung 3.37).
Abbildung 3.35 Wenn Protokolldateien zur Anzeige hinzugefügt worden sind, kann der zu untersuchende Zeitraum eingegrenzt werden.
Abbildung 3.36 Beim Hinzufügen von Leistungsindikatoren stehen nur diejenigen zur Verfügung, die protokolliert worden sind.
Abbildung 3.37 Ein Bereich kann markiert und gezoomt werden.
Ich hatte weiter vorn empfohlen, bei der Messwerterfassung nicht »nur« einzelne Leistungsindikatoren, sondern immer das komplette Objekt zu speichern: Falls sich herausstellt, dass Sie im Rahmen der Analyse noch zusätzliche Leistungsindikatoren benötigen, können Sie diese einfach »dazunehmen« – vorausgesetzt, diese sind aufgezeichnet worden.
Sofern Ihre Messung auf der standardmäßig vorhandenen Vorlage System Performance basiert, werden in dem Messdatenverzeichnis noch einige weitere Dateien vorhanden sein, unter anderem eine Datei namens report.html. Wenn Sie diese aufrufen, sehen Sie eine Kurzanalyse, die einige Eckparameter des Servers analysiert (Abbildung 3.38). Dieser Kurzüberblick ersetzt zwar nicht eine eingehende Analyse, zeigt aber schon mal die »Richtung«.
Abbildung 3.38 Die Standardvorlage »System Performance« bringt eine HTML-Datei (nebst Stylesheets etc.) mit, die einige grundlegende Informationen aus den Messdaten zieht.
3.5.4 Leistungsmessung über Computergrenzen hinweg
Es ist keinesfalls erforderlich, dass die Messung mit dem Systemmonitor genau auf dem System erfolgt, dessen Daten erhoben werden sollen. Die Leistungsindikatoren sind auch über das Netzwerk zugänglich.
Bei der Auswahl der zu erfassenden Leistungsindikatoren (vergleiche beispielsweise Abbildung 3.23) kann ein Computername angegeben werden. Es werden dann auch nur die auf dem gewählten Computer vorhandenen Objekte und Leistungsindikatoren zur Auswahl angeboten.
Die Messung von einem anderen Computer aus auszuführen, hat durchaus mehrere Vorteile. Zunächst wird die Belastung des zu analysierenden Computers etwas verringert – das ist aber nicht das Hauptargument. Der wesentliche Vorteil ist die Handhabung, weil alle Arbeiten direkt vom Admin-PC erfolgen können und keine zusätzliche Arbeit auf dem Server notwendig ist, das Hin- und Herkopieren der Messdaten entfallen kann etc.
Abbildung 3.39 Bei serverübergreifender Protokollierung ist die Wahl eines entsprechenden Benutzerkontos wichtig.
Bei der Erstellung eines Sammlungssatzes, der nicht »nur« Leistungsindikatoren des lokalen Computers erfasst, ist unbedingt darauf zu achten, dass unter Ausführen als ein anderes als das SYSTEM-Konto eingetragen wird. Das SYSTEM-Konto ist nur auf dem lokalen System gültig und kann nicht für den Zugriff auf entfernte Systeme verwendet werden. Benötigt wird ein (Domänen-)Konto, das auf der zu messenden Maschine über lokale Adminrechte verfügt. Konfiguriert wird das Konto in den Eigenschaften des Sammlungssatzes (Abbildung 3.39).
Ihre Meinung
Wie hat Ihnen das Openbook gefallen? Wir freuen uns immer über Ihre Rückmeldung. Schreiben Sie uns gerne Ihr Feedback als E-Mail an kommunikation@rheinwerk-verlag.de.