Matic Štojs Lomovšek - stock.a
LDAP-Cookie-Einstellungen für schnellere Domänencontroller
LDAP-Cookies sind Komponenten in Active Directory, und beeinflussen die Geschwindigkeit, in der Domänencontroller LDAP-Abfragen bearbeiten. Wir erklären, was Sie beachten müssen.
LDAP-Server-Cookies (Lightweight Directory Access Protocol) sind ein Bestandteil von Active Directory, der auf die Leistung von Domänencontrollern einen großen Einfluss hat. Die Cookies sind ein Element, das bei LDAP-Abfragen zum Einsatz kommt. Da in Active-Directory-Umgebungen ständig LDAP-Abfragen durchgeführt werden, sollten vor allem Administratoren von stark beanspruchten Domänencontrollern die Konfiguration überprüfen.
In den Cookies sind Informationen gespeichert, die durch Windows Server geschützt werden. Dazu speichert ein Domänencontroller Informationen zu den Cookies in seinem Cache. Diese Vorgehensweise beschleunigt den Vorgang, da Windows Server die Daten aus dem Cache lesen kann, die ansonsten neu aus Active Directory erstellt werden müssten.
Einfach ausgedrückt, fügen AD-Domänencontroller zu LDAP-Abfragen ein Cookie hinzu, das bei großen Datenpaketen oder der Abfrage einer großen Liste von Objekten zum Einsatz kommt. AD-Clients und Domänencontroller nutzen die Informationen des Cookies dazu, große Objekte und lange Listen zu koordinieren, die zwischen Client und Domänencontroller hin und her laufen. Häufig nutzt Active Directory Cookies, wenn eine Suche mehrere Seiten umfasst.
LDAP-Cookies und andere Einstellungen in Active Directory lassen sich mit NTDSUTIL anpassen. Wir zeigen in diesem Beitrag wie das geht.
Typische Probleme mit LDAP-Cookies
In großen Umgebungen mit vielen Objekten in Active Directory können LDAP-Ergebnissätze schnell eine Größe von mehreren Hundert Megabyte erreichen. Der Domänencontroller speichert die Daten in einem virtuellen Adressraum, was den Server selbst direkt beeinflusst. Da die Daten über das Netzwerk geschickt werden, ist auch dies eine potentielle Fehlerquelle vor allem dann, wenn TCP-Sitzungen (Transmission Control Protocol) abbrechen.
Um die Auslastung der Domänencontroller zu steuern und den Netzwerkverkehr für LDAP zu optimieren, stellt Microsoft eine Erweiterung zur Verfügung, mit der Sie große Datenpakete in kleinere Chunks aufteilen. Dadurch können Sie einzelne Datenpakete einfacher und ressourcensparender versenden.
Die Verwaltung des Cookie-Pools beeinflusst die Leistung von Domänencontrollern, Netzwerk und Active Directory
LDAP-Cookies beeinflussen alle Clients und Domänencontroller. Wenn mehrere Clients umfangreiche Abfragen senden, führt ein Domänencontroller diese gleichzeitig durch und speichert die Ergebnisse im LDAP-Cache. Dazu kommt ein Cookie-Pool zum Einsatz. Einstellungen am Pool beeinflussen die Auslastung des Domänencontrollers bezüglich der LDAP-Abfragen ganz direkt. Hier spielen vor allem drei Werte in Active Directory eine wichtige Rolle:
- MinResultSets
- MaxResultSetSize
- MaxResultSetsPerConn
Mit diesen drei Werten steuern Sie direkt den Ablauf von LDAP-Abfragen und damit die Ressourcenauslastung eines Domänencontrollers. Der Standardwert von MinResultSets ist 4. Enthält der Cookie-Cache weniger Einträge als in MinResultSets definiert, ignoriert das System die maximale Poolgröße.
Daher spielt der Wert MaxResultSetSize eine wichtige Rolle. Sein Standardwert ist 262.144 Bytes. Die Größe des Caches darf diesen Wert nicht überschreiten. Geschieht dies doch, löscht der Server ältere Cookies aus seinem Cache. Kommen ähnliche Anfragen beim Server an, muss er die Daten des gelöschten Cookies wieder neu aufbauen, was natürlich Auswirkungen auf die Leistung eines Domänencontrollers hat.
Standardmäßig akzeptiert der Domänencontroller einen Pool mit einer Größe von 450 KB. Domänencontroller lassen im Pool nicht mehr Cookies zu als bei MaxResultSetsPerConn eingestellt.
Löscht ein Domänencontroller ein Cookie, kann das zu einem Anwendungsfehler führen – es muss aber nicht. Daher sollte Sie Konfiguration sorgfältig vornehmen und ausführlich testen. Solche Fehlermeldungen tauchen auf den Domänencontroller im Ereignisprotokoll auf und sehen folgendermaßen aus:
Log Name: Directory Service
Source: Microsoft-Windows-ActiveDirectory_DomainService
Event ID: 2899
Task Category: LDAP Interface
Level: Information
Description:
Internal event: The LDAP server has exceeded the limit of the LDAP Maximum Result Set Size. A stored Result Set will be discarded. This will result in a client being unable to continue a paged LDAP search.
Number of result sets currently stored:
4
Current Result Set Size:
263504
Maximum Result Set Size:
262144
Size of single Result Set being discarded:
40876
User Action
The client should consider a more efficient search filter. The limit for Maximum Result Set Size may also be increased.
Fehler dieser Art müssen sich nicht unbedingt negativ auf den Client auswirken. Der Server erkennt normalerweise selbstständig, wenn ein Cookie fehlerhaft ist oder fehlt erstellen es neu.
LDAP-Richtlinien konfigurieren
Sie ändern Werte, indem Sie LDAP-Richtlinien mit dem Tool ntdsutil.exe bearbeiten. Dazu wechseln Sie in NTDUTIL mit ldap policies in den Bereich mit den Richtlinien. Hier können Sie die verschiedenen Werte steuern. Zunächst müssen Sie mit connections und connect to server <FQDN des Domänencontroller> eine Verbindung aufbauen. Mit q kommen Sie von Connections zu ldap policy zurück.
Um zum Beispiel MinResultSets auf den Wert 3 zu setzen, geben Sie Set MinResultSets to 3 ein. Mit show value lassen Sie sich diese und andere Werte anzeigen. Mit commit changes speichern Sie Änderungen. Danach müssen Sie den Domänencontroller neu starten. Sie sollten diese Arbeiten also auf einen Zeitpunkt verlegen, zu dem dies keine Probleme verursacht.
Mehr zu diesem Thema ist auf der Seite View and set LDAP policy in Active Directory by using Ntdsutil.exe zu finden.