Duell der Datenbanken: In einem Shootout messen sich MySQL und PostgreSQL. Der Schwerpunkt vom ADMIN 06/2011 überprüft, wer schneller ist und gibt einen ... (mehr)

LDAP-Lesezugriffe messen

Um die Leistung von Active-Directory-abhängigen Serverdiensten wie Exchange im Zusammenspiel mit dem Verzeichnisdienst zu überprüfen, benötigen Sie zunächst die Leistungsdaten beim Abrufen von Active-Directory-Informationen über LDAP. Ist die Verbindung zum Active Directory langsam, dann reagiert auch Exchange langsam. Haben Sie Probleme der Namensauflösung, des Active Directory und der Authentifizierung mit den vorangegangenen Schritten bereits ausgeschlossen, können Sie mit der Leistungsüberwachung die Ursache des Problems weiter eingrenzen. Der erste Schritt bei der Leistungsüberwachung führt daher zunächst über die Leistungsüberwachung auf dem Exchange-Server, die Sie mit »perfmon.msc« starten. Klicken Sie anschließend auf Leistungsüberwachung.

Klicken Sie auf das grüne Plus-Zeichen, um einen neuen Indikator hinzuzufügen. Mit Indikatoren überwachen Sie verschiedene Ressourcen des Servers. Wählen Sie zunächst den entsprechenden Indikator aus und klicken Sie auf »Hinzufügen« . Sie können eine Beschreibung der Indikatorengruppe anzeigen, die aktuell in der Liste ausgewählt ist. Aktivieren Sie dazu das Kontrollkästchen »Beschreibung anzeigen« in der unteren linken Ecke des Bildschirms. Sie können die verfügbaren Indikatoren einer Gruppe anzeigen, indem Sie auf den Abwärtspfeil rechts neben dem Gruppennamen klicken. Zum Hinzufügen einer Indikatorengruppe markieren Sie den Gruppennamen und klicken auf die Schaltfläche »Hinzufügen« . Markieren Sie einen Indikator in der Liste, bevor Sie auf »Hinzufügen« klicken, fügen Sie nur diesen Indikator hinzu. Möchten Sie mehrere Indikatoren einer Gruppe auswählen, klicken Sie bei gedrückter [Strg] -Taste auf die Namen in der Liste.

Sobald alle gewünschten Indikatoren ausgewählt sind, klicken Sie auf »Hinzufügen« . Möchten Sie nur eine bestimmte Instanz eines Indikators hinzufügen, markieren Sie einen Gruppennamen in der Liste, wählen den gewünschten Prozess in der Liste im Bereich »Instanzen des gewählten Objekts« aus und klicken auf »Hinzufügen« . Bei Auswahl einer Instanz protokolliert die Leistungsüberwachung nur die Indikatoren, die der gewählte Prozess erzeugt. Wenn Sie keine Instanz auswählen, protokolliert die Leistungsüberwachung alle Instanzen, zum Beispiel alle Prozessoren.

Als Instanzen können Sie zum Beispiel einzelne Webanwendungen auf dem Server auswählen oder auch alle Prozessoren oder Prozessorkerne. Wichtig für die Verbindung von Exchange zum Active Directory ist die Indikatorgruppe »MSExchange ADAccess-Prozesse« . Diese fügt der Exchange-Installationsassistent auf einem Server hinzu ( Abbildung 2 ).

Abbildung 2: Hinzufügen von neuen Leistungsindikatoren zur Windows-Leistungsüberwachung auf Exchange-Servern.

Interessant sind in dieser Gruppe die beiden Indikatoren »LDAP-Lesedauer« und »LDAP-Suchdauer« . Klicken Sie dazu auf das Pluszeichen neben der Indikatorgruppe im oberen Bereich und dann auf die beiden Indikatoren. Wählen Sie im unteren Bereich Instanzen die Instanz »Alle Instanzen« und klicken Sie auf »Hinzufügen« . »LDAP-Lesedauer« misst die Zeit, die eine LDAP-Abfrage bis zur Datenübermittlung benötigt. »LDAP-Suchdauer« zeigt die Zeit an, die der Server für eine Suche per LDAP im Active Directory benötigt.

Der Durchschnittswert für diese Indikatoren sollte unter 50ms liegen, die Maximaldauer sollte nicht über 100ms steigen. Über die Symbolleiste der Leistungsüberwachung können Sie die Anzeige zwischen Linie, Histogrammleiste und Bericht hin- und herwechseln. Auf diesem Weg können Sie zum Beispiel schneller eine Übersicht erhalten, wenn ein bestimmter Server Probleme beim Verbinden mit dem Active Directory hat.

Damit Active-Directory-abhängige Dienste schnell und effizient Daten aus dem Active Directory abrufen können, muss der globale Katalog schnell antworten und darf nicht überlastet sein. Um diese Auslastung zu überprüfen, können Sie ebenfalls die Leistungsüberwachung verwenden. Klicken Sie anschließend auf »Sammlung-sätze\System\Active Directory Diagnostics« . Klicken Sie anschließend auf das grüne Dreieck in der Symbolleiste, um den Sammlungssatz zu starten. Während der Server die Daten misst, versuchen Sie, die Abfrage auf das Active Directory durchzuführen, um festzustellen, ob das Problem auf Seite des globalen Katalogs liegt. Ist die Abfrage fertiggestellt, können Sie den Sammlungssatz über das Stopzeichen anhalten. Zeigt ein Server Leistungsprobleme, starten Sie den Sammlungssatz einfach und lassen eine Zeit lang die Abfragen messen. Nach einiger Zeit beenden Sie die Messung über das Kontextmenü des Sammlungssatzes oder die Symbolleiste. Anschließend können Sie über »Berichte\System\Active Directory Diagnostics« die Daten der letzten Messung anzeigen lassen. In verschiedenen Bereichen sehen Sie alle durchgeführten Aufgaben und deren Daten und Zugriffsgeschwindigkeiten.

Wichtig in diesem Bericht ist vor allem der Bereich »Active Directory« . Klicken Sie im Bericht auf den kleinen Pfeil an der rechten Seite und wählen Sie die Option »Suche« aus. Es öffnet sich eine neue Seite, in der Sie die Daten und Verbindungen sowie die Vorgänge genau anzeigen können. Im rechten Bereich sehen Sie die Antwortzeiten und die übertragenen Daten. Hier sollten keine größeren Ausschläge nach oben zu sehen sein. Je kürzer die Antwortzeiten, desto schneller reagiert der Server. Klicken Sie den Bericht mit der rechten Maustaste an, können Sie über »Ansicht\Ordner« den Inhalt des Berichtes anzeigen lassen. In der Ordneransicht stehen zum Beispiel auch eine HTML-Datei sowie eine XML-Datei zur Verfügung, die die Daten des Berichtes enthalten. Diese Daten lassen sich mit anderen Programmen weiterverarbeiten, zum Beispiel mit dem bereits erwähnten Freeware Performance Analysis of Logs (PAL).

Speicherengpässe beheben

Performanceprobleme können eine Reihe unterschiedlicher Ursachen haben. Ein weiteres Problem bei der Performanceanalyse ist, dass die Beseitigung eines Engpasses oft zum nächsten Engpass führt. Dafür gibt es viele Beispiele. Wer mehr Speicher bereitstellt, erfährt oft als Nächstes, dass auch der Prozessor bereits an der Kapazitätsgrenze angelangt ist. Es gibt einige grundsätzliche Regeln für den Einsatz von Hauptspeicher. Die erste Regel lautet: Viel hilft viel, sowohl bei Hauptspeicher als auch beim Cache. Das hat bei Windows Server 2008 R2 noch mehr Gültigkeit als unter Windows Server 2003/2008. Die zweite Regel besagt, dass die Auslagerungsdatei am besten auf einer anderen physischen Festplatte als der Systempartition aufgehoben ist. Der Preis dafür ist, dass bei einem Systemfehler keine Speicherdumps mehr zur Verfügung stehen.

Profis können Speicherdumps dazu nutzen, Fehler im Betriebssystem nachzuvollziehen. Allerdings werden diese Möglichkeiten heutzutage eher selten genutzt, da es zur Fehlerbehebung einfachere Tools gibt. Die Auslagerungsdatei ist auch einer der Bereiche, die für die Speicherverwaltung die größte Bedeutung haben. Windows Server 2008 R2 lagert Informationen aus dem physischen Hauptspeicher in die Auslagerungsdatei aus, wenn nicht genügend Hauptspeicher zur Verfügung steht, beziehungsweise Prozesse ihre Daten nicht dauerhaft benötigen. Der Server kann zwar, ausreichend freie Festplattenkapazität vorausgesetzt, fast beliebig viel Speicher auslagern. Es ist aber relativ schnell der Punkt erreicht, an dem diese Auslagerung zu langsam ist. Die Überwachung der Auslagerung spielt daher bei der Analyse eine wichtige Rolle.

Sie sollten die Auslagerungsdatei auf eine andere physische Festplatte des Servers verschieben, damit Schreibzugriffe auf die Auslagerungsdatei nicht von Schreibzugriffen auf der Festplatte ausgebremst werden. Wenn keine zweite physische Festplatte zur Verfügung steht, ist ein Verschieben sinnlos, da die Auslagerung auf eine Partition, die auf derselben Platte liegt, keine positiven Auswirkungen hat. Zusätzlich können Sie die Größe der Auslagerungsdatei auf etwa das 2,5-Fache des tatsächlichen Arbeitsspeichers legen. Damit verhindern Sie die Fragmentierung der Datei, da Windows diese nicht ständig vergrößern oder verkleinern muss. Die Einstellungen für die Auslagerungsdatei finden Sie unter »Start\Systemsteuerung\System und Sicherheit\System\Erweiterte Systemeinstellungen« auf der Registerkarte »Erweitert« mit »Leistung\Einstellungen\Erweitert\Virtueller Arbeitsspeicher\Ändern« .

Deaktivieren Sie das Kontrollkästchen »Auslagerungsdateigröße für alle Laufwerke automatisch verwalten« . Aktivieren Sie die Option »Benutzerdefinierte Größe« , wenn Sie selbst eine Größe der Datei festlegen wollen. Setzen Sie bei »Anfangsgröße« und bei »Maximale Größe« in etwa das 2,5-Fache des Arbeitsspeichers ein. Dadurch ist sichergestellt, dass die Datei nicht fragmentiert wird, da sie immer die gleiche Größe hat. Setzen Sie die Größe der Auslagerungsdatei für Laufwerk C: auf 0. Klicken Sie auf »Festlegen« , um die Änderungen zu speichern, schließen Sie alle Fenster und starten Sie den Server neu.

Auf einem Core-Server verschieben Sie die Auslagerungsdatei am besten mit dem Befehl

Wmic pagefileset where name="Pfad"set InitialSize=Anfangsgröße,MaximumSize=Maximale Größe

Zuvor beenden Sie die automatische Konfiguration mit dem Befehl

wmic computersystem where name="Hostname"set AutomaticManagedPagefile=False.

Interessante Hinweise zu diesem Vorgang finden Sie auch unter [5] . Die naheliegende Konsequenz bei Speicherengpässen ist, mehr Arbeitsspeicher den Server einzubauen. Nur ist das keineswegs auch immer der sinnvollste Weg. In jedem Fall sollten Sie zunächst untersuchen, welche Prozesse für die hohe Speicherauslastung verantwortlich sind. Dazu verwenden Sie das Objekt »Prozess« in der Leistungsüberwachung. Auch die Prozessorleistung kann natürlich einen solchen Flaschenhals darstellen. Zu wenig Hauptspeicher kann die Konsequenz haben, dass auch der Prozessor sehr stark belastet ist. Denn die Auslagerung von Seiten und viele andere Vorgänge gehen natürlich nicht spurlos am Prozessor vorbei. Schließlich ist er maßgeblich an der Verwaltung des Arbeitsspeichers beteiligt. Da Engpässe beim Hauptspeicher typischerweise deutlich kostengünstiger zu beheben sind als solche beim Prozessor, sollte diese Situation zunächst untersucht werden. Es ist in Ordnung, wenn die die Auslastung kurzzeitig oder nur gelegentlich über 90 Prozent liegt. Zum Problem wird es erst, wenn sie andauernd in diesem Bereich liegt.

Bei Mehrprozessorsystemen gilt das Augenmerk natürlich vor allem den Leistungsindikatoren aus dem Objekt »System« . Dort fasst Windows die Informationen von mehreren Systemkomponenten zusammen. So ermitteln Sie die Gesamtbelastung aller Prozessoren. Ergänzend sind aber auch hier die Leistungsindikatoren »Prozessorzeit« des Objekts »Prozessor« von Bedeutung. Wenn viele verschiedene Prozesse laufen, ist eine einigermaßen gleichmäßige Lastverteilung fast sicher. Bei einem einzelnen Prozess ist dagegen die Aufteilung in einigermaßen gleichgewichtige Threads wichtig. Ein Thread ist eine Ausführungseinheit eines Prozesses. Wenn ein Prozess mehrere Threads verwendet, können diese auf unterschiedlichen Prozessoren laufen. Die Verteilung erfolgt entsprechend der Auslastung der einzelnen Prozessoren durch das System. Eine hohe Zahl von Warteschlangen bedeutet, dass mehrere Threads rechenbereit sind, ihnen aber vom System noch keine Rechenzeit zugewiesen wurde. Die Faustregel für diesen Wert ist, dass er nicht allzu häufig über 2 liegen sollte. Wenn die Auslastung des Prozessors im Durchschnitt relativ gering ist, spielt dieser Wert nur eine untergeordnete Rolle.

Um die Leistung eines Servers zu messen, spielen also vor allem die Überwachung des Prozessors, des Arbeitsspeichers, der Netzwerkgeschwindigkeit und die Antwortzeiten des Active Directorys eine wesentliche Rolle. Bei virtuellen Servern, die Sie mit Hyper-V in Windows Server 2008 R2 einsetzen, sollten Sie auf jeden Fall das Service Pack 1 für Windows Server 2008 R2 einsetzen und Dynamic Memory aktivieren. Dynamic Memory ermöglicht die dynamische Zuteilung von Arbeitsspeicher zwischen den virtuellen Servern. Sie können für virtuelle Computer einen Minimalwert und einen maximalen Wert für den Arbeitsspeicher zuteilen. Zusätzlich können Sie den Server noch gewichten, sodass Hyper-V entscheiden kann, welcher Server welche Menge an Arbeitsspeicher erhält. Der Vorteil ist, dass der Arbeitsspeicher dynamisch zur Verfügung steht, sodass Server, die zeitweise mehr RAM benötigen, diese automatisch von Hyper-V zugeteilt bekommen. Andere Server, die zeitweise nicht ihren kompletten Speicher benötigen, geben ihn dafür ab.

comments powered by Disqus
Einmal pro Woche aktuelle News, kostenlose Artikel und nützliche ADMIN-Tipps.
Ich habe die Datenschutzerklärung gelesen und bin einverstanden.

Konfigurationsmanagement

Ich konfiguriere meine Server

  • von Hand
  • mit eigenen Skripts
  • mit Puppet
  • mit Ansible
  • mit Saltstack
  • mit Chef
  • mit CFengine
  • mit dem Nix-System
  • mit Containern
  • mit anderer Konfigurationsmanagement-Software

Ausgabe /2023