Windows-Verwaltung

Fühlen Sie den Puls Ihres Servers

Steven Choy

 

Auf einen Blick:

  • Anpassen von Systemmonitor
  • Was sollte wie oft gemessen werden?
  • Überblick über die wichtigsten Indikatoren und worauf geachtet werden muss

Inhalt

Verbessern der Lesbarkeit der Ergebnisse
Was muss wann gemessen werden?
Festplattenengpass
Speicherengpass
Prozessorengpass
Netzwerkengpass
Prozessengpass
Zusammenfassung

Stellen Sie sich vor, Sie kommen an einem Montagmorgen ins Büro und werden sofort von einem arbeitswütigen Benutzer bestürmt, der sich darüber beklagt, dass sein Server zu langsam arbeitet. Wo könnten Sie überhaupt ansetzen, um ihm zu helfen? Ein

in Windows® integriertes nützliches Tool namens „Systemmonitor“ kann Ihnen helfen, das Problem zu analysieren.

Sie können auf Systemmonitor zugreifen, indem Sie an der Eingabeaufforderung „perfmon“ eingeben oder (in Windows Vista® und Windows Server® 2008) im Menü „Verwaltung“ entweder „Leistung“ oder „Zuverlässigkeit“ und danach „Systemmonitor“ auswählen. Um Leistungsindikatoren und -objekte hinzuzufügen, die überwacht werden sollen, klicken Sie einfach auf das Pluszeichen, und wählen Sie unter einer Vielzahl möglicher Optionen.

Wie können Sie den Puls eines Servers fühlen? Es gibt mehr als 60 grundlegende Leistungsobjekte, und jedes dieser Objekte enthält mehrere Indikatoren. In diesem Artikel werde ich auf die Indikatoren für die wichtigsten Lebenszeichen eines Servers eingehen und die typischen Abtastintervalle beschreiben, die von Microsoft® Service Support-Technikern am häufigsten verwendet werden, um Probleme mit der Leistung zu beheben.

Basisdaten stellen natürlich bei der Problembehebung einen wichtigen Bezugspunkt dar. Da die Serverlast von den Geschäftsanforderungen abhängt und sich in Abhängigkeit vom Geschäftszyklus von Zeit zu Zeit ändert, ist es wichtig, anhand der normalen Arbeitsauslastung über einen bestimmten Zeitraum hinweg Basisdaten festzulegen. Dies ermöglicht Ihnen, Veränderungen zu beobachten und Trends zu erkennen.

Verbessern der Lesbarkeit der Ergebnisse

Bevor ich mich einer Analyse der Indikatoren für die wichtigsten Lebenszeichen von Servern zuwende, verrate ich Ihnen zwei Tricks, die Ihnen die Aufgabe erleichtern werden, mit Systemmonitor die wichtigsten Lebenszeichen von Servern zu messen. Beachten Sie, dass diese Tricks in Windows Vista und Windows Server 2008 nicht notwendig sind, aber sehr nützlich sein können, wenn Sie Systemmonitor unter älteren Windows-Versionen ausführen.

Zunächst können Sie das ganze verwirrende Chaos der vielen Abtastwerte entfernen, das die grafische Ansicht von Trendlinien verdeckt. In Windows Vista und Windows Server 2008 kann Systemmonitor bis zu 1000 Datenpunkte in einer grafischen Ansicht anzeigen. In früheren Windows-Versionen war dies nur mit maximal 100 Datenpunkten möglich. Wenn mehr als 100 Punkte vorhanden sind, werden die Datenpunkte von Systemmonitor zu so genannten „Buckets“ zusammengefasst. Ein Bucket wird durch eine vertikale Linie repräsentiert, die den Minimalwert, den Durchschnittswert und den Maximalwert der im Bucket enthaltenen Abtastpunkte darstellt.

Wie Sie anhand des Diagramms in Abbildung 1 sehen können, ist die Trendlinie nur schwer zu erkennen, wenn sehr viele Daten gleichzeitig angezeigt werden. Das Diagramm in Abbildung 2 zeigt, wie viel leichter sich die Daten schnell erfassen lassen, wenn alle überflüssigen visuellen Informationen ausgeschaltet werden. Ausführliche Informationen dazu, wie Sie diese vertikalen Linien ausschalten können, finden Sie im Knowledge Base-Artikel unter support.microsoft.com/kb/283110.

fig01.gif

Abbildung 1 Mit ablenkenden Buckets und ohne Kommas angezeigte Leistungsdaten (zum Vergrößern auf das Bild klicken)

fig02.gif

Abbildung 2 Eine sauberere Datenansicht mit Kommatrennzeichen (zum Vergrößern auf das Bild klicken)

Der zweite Trick besteht darin, in die Zahlen Kommatrennzeichen einzufügen, mit denen sich die in den Indikatoren gezeigten Werte viel leichter lesen lassen. In Windows Vista und Windows Server 2008 sind Kommatrennzeichen standardmäßig aktiviert. In früheren Versionen von Windows dagegen sind in der Standardeinstellung Kommas in Systemmonitor nicht aktiviert.

Das hört sich zwar nicht so an, als würde es einen großen Unterschied machen, aber betrachten Sie einmal Abbildung 1, in der die Leistungsindikatoren ohne Kommas angezeigt werden, und danach Abbildung 2, in der die Indikatoren mit Kommas zu sehen sind. Ich finde, dass die zweite Abbildung wesentlich lesbarer ist. Einige einfache Anleitungen zum Hinzufügen von Kommatrennzeichen zu Ihren Leistungsindikatoren in Windows XP finden Sie im Knowledge Base-Artikel unter support.microsoft.com/kb/300884.

Was muss wann gemessen werden?

Engpässe treten ein, wenn eine Ressource ihre maximale Kapazität erreicht, und verringern die Leistung des Systems. Engpässe werden in der Regel durch unzureichend oder falsch konfigurierte Ressourcen, versagende Komponenten und falsche Ressourcenanforderungen durch ein Programm verursacht.

Es gibt fünf Hauptressourcenbereiche, die Engpässe verursachen und die Serverleistung beeinträchtigen können: physische Datenträger, Speicher, Prozesse, CPU und Netzwerk. Wenn eine dieser Ressourcen überstrapaziert wird, kann dies zur Folge haben, dass Ihr Server oder Ihre Anwendung spürbar langsamer wird oder sogar abstürzt. Ich werde jeden dieser fünf Bereiche erörtern. Dabei werde ich Ihnen Tipps geben, welche Indikatoren Sie verwenden sollten, und Grenzwerte vorschlagen, mit deren Hilfe Sie den Puls Ihrer Server fühlen können.

Da das Abtastintervall beträchtliche Auswirkungen auf die Größe der Protokolldatei und das Ausmaß der Serverlast hat, sollten Sie das Abtastintervall an der Zeitspanne orientieren, die im Durchschnitt vergeht, bis das Problem auftritt, um Basisdaten festlegen zu können, bevor das Problem erneut auftritt. Dies ermöglicht Ihnen, alle Trends zu erkennen, die zum Problem führen.

Fünfzehn Minuten stellen einen vernünftigen Zeitraum dar, um im Verlauf normaler Arbeitsprozesse Basisdaten festzulegen. Setzen Sie das Abtastintervall auf 15 Sekunden, falls der durchschnittliche Zeitraum, nach dem das Problem auftritt, ungefähr vier Stunden beträgt. Tritt das Problem nach acht oder mehr Stunden auf, dann setzen Sie das Abtastintervall auf mindestens fünf Minuten, da Sie sonst eine sehr umfangreiche Protokolldatei erhalten, die es schwieriger macht, die Daten zu analysieren.

Festplattenengpass

Da das Datenträgersystem Programme und Daten auf dem Server speichert und verwaltet, hat ein Engpass, der sich auf die Datenträgernutzung und die Datenträgergeschwindigkeit auswirkt, großen Einfluss auf die Gesamtleistung des Servers.

Beachten Sie, dass Sie dann, wenn die Datenträgerobjekte auf Ihrem Server nicht aktiviert sind, das Befehlszeilentool „Diskperf“ verwenden müssen, um sie zu aktivieren. Beachten Sie auch, dass der Wert von „Zeit (%)“ den Betrag 100 Prozent überschreiten kann und ich es daher vorziehe, „Leerlaufzeit (%)“, „Mittlere Sek./Lesevorgänge“ und „Mittlere Sek./Schreibvorgänge“ zu verwenden, weil diese Werte ein exakteres Bild der Festplattenauslastung liefern. Weitere Informationen zu „Zeit (%)“ finden Sie im Knowledge Base-Artikel unter support.microsoft.com/kb/310067.

Bei der Datenträgerüberwachung verlassen sich die Microsoft Service Support-Techniker auf die folgenden Indikatoren:

LogicalDisk\Freier Speicherplatz (%) Damit wird der prozentuale Anteil des freien Speicherplatzes am ausgewählten logischen Festplattenlaufwerk gemessen. Achten Sie darauf, ob dieser Wert unter 15 Prozent fällt, denn dann besteht die Gefahr, dass dem Betriebssystem nicht mehr genügend freier Speicherplatz zum Speichern wichtiger Dateien zur Verfügung steht. Eine offensichtliche Lösung zur Behebung dieses Problems besteht darin, mehr Speicherplatz hinzuzufügen.

PhysicalDisk\Leerlaufzeit (%) Damit wird der prozentuale Anteil der Zeit gemessen, in der sich der Datenträger während des Beispielintervalls im Leerlauf befand. Wenn dieser Wert unter 20 Prozent fällt, ist das Datenträgersystem ausgelastet. Sie sollten in Betracht ziehen, das aktuelle Datenträgersystem durch ein schnelleres Datenträgersystem zu ersetzen.

PhysicalDisk\Mittlere Sek./Lesevorgänge Damit wird die Durchschnittszeit in Sekunden gemessen, mit der Daten vom Datenträger gelesen werden. Ist dieser Wert größer als 25 Millisekunden (ms), bedeutet dies, dass beim Lesen vom Datenträger eine Latenzzeit des Datenträgersystems vorliegt. Bei unternehmenswichtigen Servern, die SQL Server® und Exchange Server hosten, liegt der akzeptable Grenzwert wesentlich niedriger (ungefähr bei 10 ms). Die logischste Lösung zur Behebung dieses Problems besteht darin, das aktuelle Datenträgersystem durch ein schnelleres Datenträgersystem zu ersetzen.

PhysicalDisk\Mittlere Sek./Schreibvorgänge Damit wird die Durchschnittszeit in Sekunden gemessen, mit der Daten auf den Datenträger geschrieben werden. Ist dieser Wert größer als 25 ms, liegt beim Schreiben auf den Datenträger eine Latenzzeit des Datenträgersystems vor. Bei unternehmenswichtigen Servern, die SQL Server und Exchange Server hosten, liegt der akzeptable Grenzwert wesentlich niedriger (ungefähr bei 10 ms). Die logischste Lösung zur Behebung dieses Problems besteht darin, das aktuelle Datenträgersystem durch ein schnelleres Datenträgersystem zu ersetzen.

PhysicalDisk\Durchschnittl. Warteschlangenlänge des Datenträgers Damit wird angegeben, wie viele E/A-Vorgänge darauf warten, dass die Festplatte verfügbar wird. Ist dieser Wert größer als die Anzahl der Datenträgerspindeln plus zwei, bedeutet dies, dass der Datenträger selbst die Ursache des Engpasses sein könnte.

Speicher\Cachebytes Damit wird angegeben, wie viel Speicher für den Dateisystemcache verwendet wird. Ist dieser Wert größer als 200 MB, liegt eventuell ein Datenträgerengpass vor.

Speicherengpass

Ein Speichermangel wird in der Regel durch unzureichenden RAM, einen Speicherverlust oder einen in der Datei „boot.ini“ eingefügten Speicherschalter verursacht. Bevor ich auf Speicherindikatoren eingehe, muss ich zuerst den Schalter „/3GB“ erläutern.

Mehr Speicher bedeutet eine verringerte Datenträger-E/A-Aktivität und dadurch auch eine verbesserte Anwendungsleistung. Der Schalter „/3GB“ wurde in Windows NT® als Möglichkeit eingeführt, für die Benutzermodusprogramme mehr Speicher bereitstellen zu können.

Windows verwendet einen virtuellen Adressbereich von 4 GB (unabhängig davon, über wie viel physischen RAM das System verfügt). Standardmäßig sind die unteren 2 GB für Benutzermodusprogramme und die oberen 2 GB für Kernelmodusprogramme reserviert. Mit dem Schalter „/3GB“ werden 3 GB für Benutzermodusprozesse reserviert. Dies geschieht natürlich auf Kosten des Kernelspeichers, der dadurch einen virtuellen Adressbereich von nur 1 GB besitzt. Dies kann Probleme verursachen, da Nicht-Auslagerungsseiten (Bytes), Auslagerungsseiten (Bytes), freie Seitentabelleneinträge und Desktopheap in diesen Bereich von nur 1 GB gezwängt werden. Deshalb sollte der Schalter „/3GB“ erst verwendet werden, nachdem in Ihrer Umgebung gründliche Tests durchgeführt wurden.

Dies muss in Betracht gezogen werden, falls Sie den Verdacht hegen, dass eventuell ein Speicherengpass vorliegt. Sollte der Schalter „/3GB“ nicht die Ursache der Probleme sein, können Sie zur Analyse eines potenziellen Speicherengpasses die folgenden Indikatoren verwenden:

Speicher\Zugesicherte verwendete Bytes (%) Damit wird das Verhältnis von „Zugesicherte Bytes“ zu „Zusicherungslimit“ (in anderen Worten: die Menge des verwendeten virtuellen Speichers) gemessen. Dieser Wert weist auf unzureichenden Speicher hin, falls die Zahl größer als 80 Prozent ist. Die offensichtliche Lösung für dieses Problem besteht darin, mehr Speicher hinzuzufügen.

Speicher\Verfügbare MB (%) Damit wird die Menge des zum Ausführen von Prozessen verfügbaren physischen Speichers in Megabytes gemessen. Beträgt dieser Wert weniger als 5 Prozent des gesamten physischen RAM, bedeutet dies, dass ein unzureichender Speicher vorliegt und eventuell die Auslagerungsaktivitäten erhöht werden. Um dieses Problem zu beheben, sollten Sie einfach mehr Speicher hinzufügen.

Speicher\Freie Seitentabelleneinträge Damit wird die Anzahl der Seitentabelleneinträge angegeben, die derzeit nicht vom System verwendet werden. Liegt dieser Wert unter 5.000, könnte ein Speicherverlust vorliegen.

Speicher\Nicht-Auslagerungsseiten (Bytes) Damit wird die Größe des nicht ausgelagerten Pools in Byte gemessen. Dies ist ein Bereich des Systemspeichers, der für Objekte verwendet wird, die nicht auf den Datenträger geschrieben werden können, sondern stattdessen im physischen Speicher bleiben müssen, solange sie zugewiesen sind. Ist dieser Wert größer als 175 MB (oder größer als 100 MB, falls der Schalter „/3GB“ verwendet wird), liegt möglicherweise ein Speicherverlust vor. Eine typische Ereignis-ID 2019 wird im Systemereignisprotokoll aufgezeichnet.

Speicher\Auslagerungsseiten (Bytes) Damit wird die Größe des ausgelagerten Pools in Byte gemessen. Dies ist ein Bereich des Systemspeichers, der für Objekte verwendet wird, die auf den Datenträger geschrieben werden können, wenn sie nicht verwendet werden. Ist dieser Wert größer als 250 MB (oder größer als 170 MB, falls der Schalter „/3GB“ verwendet wird), liegt möglicherweise ein Speicherverlust vor. Eine typische Ereignis-ID 2020 wird im Systemereignisprotokoll aufgezeichnet.

Speicher\Seiten pro Sekunde Damit wird die Rate gemessen, in der Seiten vom Datenträger gelesen oder auf den Datenträger geschrieben werden, um Hardwareseitenfehler zu beheben. Ist dieser Wert größer als 1.000, liegt möglicherweise ein durch übermäßiges Auslagern verursachter Speicherverlust vor.

Prozessorengpass

Ein überlasteter Prozessor stellt eventuell aufgrund seiner eigenen Beschränkungen oder aufgrund einer ineffizienten Anwendung nicht genügend Leistung bereit. Sie müssen genau überprüfen, ob der Prozessor aufgrund eines unzureichenden Speichers viel Zeit darauf verwendet, Auslagerungsvorgänge durchzuführen. Beim Untersuchen eines potenziellen Prozessorengpasses werden von den Microsoft Service Support-Technikern die folgenden Indikatoren verwendet:

Prozessor\Prozessorzeit (%) Damit wird der prozentuale Anteil der Zeit gemessen, die der Prozessor darauf verwendet, einen nicht im Leerlauf befindlichen Thread auszuführen. Liegt der prozentuale Anteil über 85 Prozent, ist der Prozessor überlastet, und der Server benötigt eventuell einen schnelleren Prozessor.

Prozessor\Benutzerzeit (%) Damit wird der prozentuale Anteil der Zeit gemessen, die der Prozessor im Benutzermodus arbeitet. Ist dieser Wert hoch, ist der Server mit der Anwendung ausgelastet. Eine mögliche Lösung zur Behebung dieses Problems besteht darin, die Anwendung zu optimieren, von der die Prozessorressourcen in Anspruch genommen werden.

Prozessor\Interruptzeit (%) Damit wird die Zeit gemessen, die der Prozessor während bestimmter Abtastintervalle darauf verwendet, Hardwareunterbrechungen zu empfangen und zu verarbeiten. Dieser Indikator weist auf ein potenzielles Hardwareproblem hin, falls der Wert größer als 15 Prozent ist.

System\Prozessor-Warteschlangenlänge Damit wird die Anzahl der Threads in der Prozessorwarteschlange angegeben. Ist dieser Wert über einen längeren Zeitraum hinweg mehr als zwei Mal so groß wie die Anzahl der CPUs, besitzt der Server nicht genügend Prozessorleistung.

Netzwerkengpass

Ein Netzwerkengpass kann natürlich die Fähigkeit des Servers beeinträchtigen, über das Netzwerk Daten zu senden und zu empfangen. Ein solcher Engpass kann eventuell durch die Netzwerkkarte des Servers verursacht werden oder dadurch entstehen, dass das Netzwerk ausgelastet ist und segmentiert werden muss. Zum Analysieren potenzieller Netzwerkengpässe können Sie die folgenden Indikatoren verwenden:

Netzwerkschnittstelle\Bytes insgesamt/s Damit wird die Rate gemessen, mit der über jeden Netzwerkadapter Bytes (einschließlich Rahmencharakteristiken) gesendet und empfangen werden. Das Netzwerk ist ausgelastet, wenn Sie feststellen, dass über 70 Prozent der Schnittstelle genutzt werden. Bei einem mit 100 MBit/s arbeitenden NIC beträgt die Beanspruchung der Schnittstelle 8,7 MB/s (100 MBit/s = 100000 KBit/s = 12,5 MB/s * 70 Prozent). In einer derartigen Situation sollten Sie eine schnellere Netzwerkkarte hinzufügen oder das Netzwerk segmentieren.

Netzwerkschnittstelle\Ausgabewarteschlangenlänge Damit wird die Länge der Ausgabepaketwarteschlange in Paketen gemessen. Ist dieser Wert größer als 2, liegt eine Netzwerkauslastung vor. Sie können dieses Problem beheben, indem Sie eine schnellere Netzwerkkarte hinzufügen oder das Netzwerk segmentieren.

Prozessengpass

Die Serverleistung wird durch einen falsch funktionierenden oder nicht optimierten Prozess stark beeinträchtigt. Thread- und Handleverluste werden einen Server letzten Endes lahmlegen, und eine übermäßige Prozessornutzung wird einen Server auf ein Schneckentempo verlangsamen. Beim Analysieren von Prozessengpässen spielen die folgenden Indikatoren eine wichtige Rolle:

Prozess\Handleanzahl Damit wird die Gesamtanzahl der Handles gemessen, die derzeit durch einen Prozess geöffnet sind. Dieser Indikator weist auf einen potenziellen Handleverlust hin, falls der Wert größer als 10.000 ist.

Prozess\Threadanzahl Damit wird die Anzahl der Threads gemessen, die derzeit in einem Prozess aktiv sind. Ist dieser Wert zwischen der minimalen und der maximalen Anzahl von Threads größer als 500, liegt möglicherweise ein Threadverlust vor.

Prozess\Private Bytes Damit wird die diesem Prozess zugewiesene Speichermenge angegeben, die nicht zur gemeinsamen Nutzung für andere Prozesse freigegeben werden kann. Ist dieser Wert zwischen der minimalen und der maximalen Anzahl von Threads größer als 250, liegt möglicherweise ein Speicherverlust vor.

Zusammenfassung

Jetzt wissen Sie, welche Indikatoren die Service Support-Techniker von Microsoft verwenden, um die verschiedenen Engpässe zu analysieren. Natürlich werden Sie wahrscheinlich Ihre eigene Gruppe von Lieblingsindikatoren finden, die auf Ihre jeweiligen Anforderungen optimal zugeschnitten ist. Sie können Zeit sparen, indem Sie vermeiden, bei jeder Überwachung Ihrer Server Ihre gesamten Lieblingsindikatoren neu hinzufügen zu müssen. Glücklicherweise bietet Systemmonitor eine Option, mit der Sie Ihre bevorzugten Indikatoren zur späteren Wiederverwendung in einer Vorlage speichern können.

Sie fragen sich möglicherweise auch, ob Sie Systemmonitor lokal oder im Remotebetrieb ausführen sollten. Wie stark würde es die Leistung beeinträchtigen, wenn Sie Systemmonitor lokal ausführen würden? Dies alles hängt von Ihrer jeweiligen Umgebung ab. Die Beeinträchtigung der Serverleistung ist fast völlig zu vernachlässigen, wenn Sie die Intervalle auf mindestens fünf Minuten setzen.

Sie sollten Systemmonitor lokal ausführen, wenn Sie wissen, dass auf dem Server ein Leistungsproblem vorliegt, denn wenn Systemmonitor im Remotebetrieb ausgeführt wird, können möglicherweise Daten nicht erfasst werden, sobald auf dem Server ein Ressourcenmangel auftritt. Systemmonitor im Remotebetrieb von einem zentralen Computer aus auszuführen, eignet sich am besten für Situationen, in denen Sie mehrere Server überwachen oder für mehrere Server Basisdaten ermitteln möchten.

Steven Choy ist ein Senior Premier Field Engineer bei Microsoft Premier Field Engineering. Er hat Regierungsbehörden und kommerzielle Kunden bei Projekten im Bereich von Desktopbereitstellung und Migration, Patchverwaltung und Gruppenrichtlinien unterstützt. Derzeit befasst er sich mit Servervirtualisierung und Serverintegrität.

© 2008 Microsoft Corporation und CMP Media, LLC. Alle Rechte vorbehalten. Die nicht genehmigte teilweise oder vollständige Vervielfältigung ist nicht zulässig.