Optimierung von Domain Controller, Teil 1 Leistungsverbesserung von Domänen-Controller

Autor / Redakteur: Thomas Joos / Dipl.-Ing. (FH) Andreas Donner

Die Leistung von Domain-Controller (DCs) spielt in Microsoft-Netzwerken eine signifikante Rolle. Wenn diese über unzureichende Leistung verfügen, dauern Benutzeranmeldungen und die Vergabe von Rechten sehr viel länger und bremsen Benutzer aus.

Firmen zum Thema

Performance ist auch bei Domänen-Controller (fast) alles. Wie man hier erfolgreich Hand anlegt, zeigt Thomas Joos.
Performance ist auch bei Domänen-Controller (fast) alles. Wie man hier erfolgreich Hand anlegt, zeigt Thomas Joos.
(Bild: © peshkov - stock.adobe.com)

Das ganze Netzwerk und alle von Active Directory abhängigen Dienste leiden unter langsamen Domänen-Controllern. Aus diesem Grund sollte die Leistung bestmöglich konfiguriert sein, damit Anwender nicht unnötig ausgebremst werden.

Administratoren sollten darauf achten, dass Domänen-Controller nicht nur sicher zur Verfügung stehen, sondern auch leistungsstark. In diesem Beitrag geben wir einige Tipps mit denen Domänen-Controller beschleunigt, weniger ausgebremst oder zumindest deutlich entlastet werden können.

Screenshot: Verwalten der Systemdateien von Active Directory.
Screenshot: Verwalten der Systemdateien von Active Directory.
(Bild: Microsoft / Joos)

Die Kapazitätsplanung und die Überwachung der Leistung ist ein laufender Prozess in Netzwerken. Das gilt natürlich auch für Domänen-Controller. Sobald ein Trend erkennbar ist, dass die Leistung zu bestimmten Zeiten nicht mehr ausreicht, ist es sinnvoll, Gegenmaßnahmen einzuleiten.

Ausfall von Domänen-Controller berücksichtigen

Auch der Ausfall einzelner Domänen-Controller sollte Berücksichtigung finden. Steht einer nicht mehr zur Verfügung, sollte dieser Ausfall die anderen Server nicht überlasten, sondern diese sollten die Last des ausgefallenen auffangen können. Wie viele ausgefallene Server die restlichen DCs auffangen können sollen, hängt von den Anforderungen im Unternehmen ab. Es sollte pro Standort aber mindestens ein Domänen-Controller ausfallen können, ohne dass die Leistung der anderen Server zu stark einbricht.

Auch wenn Unternehmen zusätzliche Serveranwendungen einführen, die von Active Directory besonders abhängen, spielt die Überwachung von Domain Controller eine wichtige Rolle, denn die Integration neuer Active-Directory-Dienste belastet diese zusätzlich. Reicht die Leistung nicht mehr aus, leiden auch die neuen Server darunter sowie die darauf installierten Serverdienste.

Der Taskmanager auf Windows-Servern bietet einen ersten Überblick über die Leistung eines Domänen-Controller.
Der Taskmanager auf Windows-Servern bietet einen ersten Überblick über die Leistung eines Domänen-Controller.
(Bild: Microsoft / Joos)

Das kann dazu führen, dass Projekte nicht erfolgreich abgeschlossen werden können, da die Leistung der Domänen-Controller keine Berücksichtigung gefunden haben. Beispiele dafür sind die Einführung oder Umstellung von „Microsoft Exchange“, „Sharepoint“ oder die Anbindung von Cloud-Diensten wie „Azure Active Directory“ und die damit notwendige Synchronisierung.

Hardware von Domänen-Controller richtig planen

Um die Hardware oder die Konfiguration einer VM für den Einsatz als Domänen-Controller richtig zu planen, gibt Microsoft auf der Seite „Capacity planning for Active Directory Domain Services“ einige Hinweise.

Selbstverständlich muss die verwendete Hardware des Domänen-Controller, oder im Falle der Virtualisierung, die Konfiguration des virtuellen Servers, so gesetzt sein, dass genügend Arbeitsspeicher und CPU-Leistung zur Verfügung stehen. Das gilt für alle Serverdienste im Netzwerk. Active Directory versucht stets so viel wie möglich seiner Datenbank im Arbeitsspeicher abzulegen.

Active Directory-Datenbank im Arbeitsspeicher ablegen

Ist der Arbeitsspeicher zu gering dimensioniert, liegen große Teile der Active-Directory-Datenbank (C:\Windows\NTDS\ntds.dit) auf der Festplatte. Das bremst die Zugriffe auf die Datenbank deutlich aus. Der Arbeitsspeicher sollte daher so dimensioniert sein, dass Windows die Datenbank komplett in den Arbeitsspeicher laden kann.

Vor allem zu Stoß- und Spitzenzeiten, in denen sich zum Beispiel viele Anwender gleichzeitig anmelden, fällt schnell auf, wenn Domänen-Controller unterdimensioniert sind. Ein erster Blick in den Taskmanager des Servers kann hier schon zeigen, ob die Leistung ausreicht. Hier ist es sinnvoll im 30 Minuten- oder im Stundenbereich die Leistung mit Bordmitteln zu überwachen – oder aber mit anderen Tools.

Überwachung mit Bordmitteln durchführen

Verlässliche Informationen gibt die Leistungsüberwachung in „Windows Server 2016/2019“, die zum Beispiel über „perfmon.msc“ zur Verfügung steht. Die Leistungsüberwachung kann mittels verschiedener Indikatoren über einen längeren Zeitraum die Leistung von Servern überwachen.

Screenshot: Überwachen von Windows-Servern mit der Leistungsüberwachung.
Screenshot: Überwachen von Windows-Servern mit der Leistungsüberwachung.
(Bild: Microsoft / Joos)

Nach dem Start der Leistungsüberwachung können Indikatoren über das grüne Pluszeichen hinzugefügt werden. Für die Überwachung des Arbeitsspeichers (nicht nur auf Domänen-Controller) sind zum Beispiel die folgenden Indikatoren interessant:

  • Arbeitsspeicher: Verfügbare Bytes – Der Wert zeigt, wie viel Arbeitsspeicher in Bytes aktuell auf dem Server noch verfügbar sind. Der Wert sollte möglichst hoch sein.
  • Arbeitsspeicher: Seiten/s – Dieser Indikator misst die Anzahl an Speicherseiten, die Windows aus der Auslagerungsdatei auf den Datenträgern des Servers lesen muss. Der Wert sollte niedrig sein. Hohe Werte sind ein Zeichen, dass Windows wegen zu wenig Arbeitsspeicher zu viele Daten auf die Festplatten auslagert.
  • Arbeitsspeicher: Seitenfehler/s – Der Wert sollte ebenfalls niedrig sein. Er misst das Auslagern von Daten aus dem Arbeitsspeicher auf die langsameren Datenträger.
  • Arbeitsspeicher: Langfristige durchschnittliche Lebensdauer im Standby Cache – Damit lässt sich feststellen, ob die Active-Directory-Datenbank möglichst vollständig im Arbeitsspeicher geladen ist.

Reicht der Arbeitsspeicher auf dem Domänen-Controller aus, dann ist „Arbeitsspeicher: Verfügbare Bytes“ sehr hoch, während „Arbeitsspeicher: Seiten/s“ und „Arbeitsspeicher: Seitenfehler/s“ im Schnitt gegen 0 laufen sollten.

Wenn Die Kurvenanzeige zu unübersichtlich ist, stellt der Leistungsmonitor über die Icon-Leiste noch die Möglichkeit zur Verfügung, auf „Histogramm“ oder „Bericht“ umzustellen.

Active Directory-Datenbank und -Protokoll verschieben

Für eine bessere Leistung empfiehlt Microsoft das Trennen von Betriebssystem und Active-Directory-Datenbank auf unterschiedliche Datenträger. Das kann bereits beim Heraufstufen eines Servers zum Domänen-Controller durchgeführt werden, ist aber auch nachträglich noch möglich. Während des Vorgangs steht der Domänen-Controller nicht zur Verfügung.

Daher sollte die Umstellung zu Zeiten stattfinden, an denen die anderen DCs die Aufgaben des aktuellen DCs problemlos übernehmen können. Hier muss natürlich auch auf die FSMO-Rollen geachtet werden. Sind solche Rollen auf dem betreffenden DC positioniert, stehen diese bis zum Neustart des Servers nicht zur Verfügung.

Active Directory im Fokus
Bildergalerie mit 43 Bildern

Eine weitere Trennung der Protokolle und der Datenbank kann zusätzliche Leistungssteigerungen bringen. Selbstverständlich sollten die Festplatten, auf der die Datenbank und Protokolldateien liegen, möglichst schnell sein. Active Directory liest nicht nur Daten, sondern schreibt auch Daten auf die Festplatte. Daher spielt nicht nur der Arbeitsspeicher eine Rolle, sondern auch die Datenträger und deren Schreibgeschwindigkeit.

Active Directory-Datenbank mit ntdsutil.exe verschieben

Um die Active Directory-Datenbank in ein anderes Verzeichnis zu verschieben, steht das Befehlszeilentool „ntdsutil.exe“ zur Verfügung. Vor dem Start von ntdsutil sollten auf dem Server zunächst die Active-Directory-Dienste beendet werden, zum Beispiel in der Befehlszeile mit „net stop ntds“

Mit „activate instance ntds“ bearbeitet das Tool nach dem Start die aktive AD-Instanz auf dem Server. Sobald das Tool gestartet und die Instanz ausgewählt ist, kann mit „files“ in die Verwaltung der AD-Dateien gewechselt werden. Der Befehl „info“ zeigt die aktuellen Speicherorte der AD-Datenbank und deren Protokolle an.

Jetzt kann die AD-Datenbank mit dem Befehl „move db to <Pfad>“ verschoben werden. Die Protokolldateien werden mit „move logs to <Pfad>“ verschoben. Anschließend müssen die Dienste oder der komplette Server neu gestartet werden. Die Daten befinden sich jetzt im neuen Verzeichnis.

CPU richtig dimensionieren

Grundsätzlich empfiehlt Microsoft pro 1.000 gleichzeitiger Benutzer einen CPU-Kern. Natürlich ist das nur ein Anhaltspunkt. Im laufenden Betrieb von Active Directory ist auch hier die Leistungsmessung von Windows-Servern ein wertvolles Hilfsmittel. Es ist unproblematisch, wenn die Auslastung eines Servers kurzzeitig auf 80 Prozent oder etwas höher geht. Mittel- und Langfristig sollte die Auslastung aber deutlich geringer sein und dauerhaft sollte kein Server eine hohe Belastung aufweisen.

Bei „Prozessor“ steht in der Leistungsüberwachung zum Beispiel der Indikator „Prozessor: Prozessorzeit“ zur Verfügung. Der Indikator zeigt die Zeit an, die eine CPU oder ein Kern zur Verarbeitung eines Threads, also eines Teils eines Prozesses benötigt. Ebenfalls relevant ist „System: Prozessor-Warteschlangenlänge“.

Der Wert zeigt die Anzahl der Threads an, die auf Bearbeitung warten. Der Wert sollte sehr gering sein und idealerweise bei 0 liegen. Steht genügend Zeit zur Verfügung und ist die Warteschlange klein, reicht der Prozessor aus.

+ Der Autor, Thomas Joos, ist Berater und Autor zahlreicher Fachbücher und -artikel. Auf DataCenter-Insider schreibt er seinen eigenen Blog mit Tipps und Tricks für Administratoren*innen „Toms Admin-Blog

(ID:47435367)

Über den Autor

 Thomas Joos

Thomas Joos

Freiberuflicher Autor und Journalist