LDAP-Aspekte bei der Optimierung der ADDS-Leistung

Wichtig

Im Folgenden finden Sie eine Zusammenfassung der wichtigsten Empfehlungen und Aspekte zum Optimieren der Serverhardware für Active Directory-Workloads, die in größerer Detailliertheit im Artikel Kapazitätsplanung für Active Directory Domain Services behandelt werden. Lesern wird dringend empfohlen, die Kapazitätsplanung für Active Directory Domain Services zu lesen, um ein besseres technisches Verständnis und die Auswirkungen dieser Empfehlungen zu erhalten.

Überprüfen von LDAP-Abfragen

Überprüfen Sie, ob LDAP-Abfragen den Empfehlungen zum Erstellen effizienter Abfragen entsprechen.

Auf MSDN finden Sie eine umfassende Dokumentation zum ordnungsgemäßen Schreiben, Strukturieren und Analysieren von Abfragen zur Verwendung für Active Directory. Weitere Informationen finden Sie unter Erstellen effizienterer Microsoft Active Directory-fähiger Anwendungen.

Optimieren der LDAP-Seitengrößen

Wenn als Reaktion auf Clientanforderungen Ergebnisse mit mehreren Objekten zurückgegeben werden, muss der Domänencontroller das Resultset vorübergehend im Arbeitsspeicher speichern. Das Erhöhen der Seitengröße führt zu einer höheren Speicherauslastung und kann zum unnötigen Entfernen von Elementen aus dem Cache wegen Überalterung führen. In diesem Fall sind die Standardeinstellungen optimal. Es gibt mehrere Szenarien, in denen Empfehlungen zum Erhöhen der Seitengrößeneinstellungen gegeben wurden. Wir empfehlen, die Standardwerte zu verwenden, sofern diese nicht ausdrücklich als unzureichend identifiziert werden.

Wenn Abfragen viele Ergebnisse aufweisen, kann ein Grenzwert für gleichzeitig ausgeführte ähnliche Abfragen vorkommen. Hierzu kommt es, weil der LDAP-Server möglicherweise einen globalen Arbeitsspeicherbereich erschöpft, der als Cookiepool bezeichnet wird. Es kann erforderlich sein, die Größe des Pools zu erhöhen, wie unter Behandlung von LDAP-Servercookies erläutert.

Informationen zum Optimieren dieser Einstellungen finden Sie unter Domänencontroller unter Windows Server 2008 und neuer gibt nur 5.000 Werte in einer LDAP-Antwort zurück.

Bestimmen, ob Indizes hinzugefügt werden sollen

Die Indizierung von Attributen ist nützlich, wenn Sie nach Objekten suchen, die den Attributnamen in einem Filter enthalten. Durch die Indizierung kann die Anzahl der Objekte reduziert werden, die beim Auswerten des Filters aufgesucht werden müssen. Dies verringert jedoch die Leistung von Schreibvorgängen, da der Index aktualisiert werden muss, wenn das entsprechende Attribut geändert oder hinzugefügt wird. Es erhöht auch die Größe der Verzeichnisdatenbank, obgleich die Vorteile die Speicherkosten häufig überwiegen. Die Protokollierung kann verwendet werden, um die teuren und ineffizienten Abfragen aufzufinden. Sobald diese identifiziert sind, erwägen Sie die Indizierung einiger Attribute, die in den entsprechenden Abfragen verwendet werden, um die Suchleistung zu verbessern. Weitere Informationen zur Funktionsweise von Active Directory-Suchvorgängen finden Sie unter Funktionsweise von Active Directory-Suchvorgängen.

Szenarien, die vom Hinzufügen von Indizes profitieren

  • Die Clientlast durch das Anfordern der Daten führt zu einer erheblichen CPU-Auslastung, und das Clientabfrageverhalten kann nicht geändert oder optimiert werden.

  • Die Clientlast generiert aufgrund eines nicht indizierten Attributs erhebliche E/A-Vorgänge auf dem Datenträger eines Servers, und das Clientabfrageverhalten kann nicht geändert oder optimiert werden.

  • Eine Abfrage dauert lange und wird aufgrund fehlender Indexabdeckung nicht innerhalb eines akzeptablen Zeitrahmens für den Client abgeschlossen.

  • Große Mengen von Abfragen mit hoher Dauer verursachen den Verbrauch und die Erschöpfung von ATQ-LDAP-Threads. Überwachen Sie die folgenden Leistungsindikatoren:

    • NTDS\Anforderungswartezeit: Diese hängt von der Verarbeitungsdauer der Anforderung ab. Active Directory führt bei Anforderungen nach 120 Sekunden (Standardeinstellung) einen Timeout durch. Die Mehrheit sollte jedoch wesentlich schneller ausgeführt werden, und extrem zeitintensive Abfragen sollten in den Gesamtzahlen untergehen. Suchen Sie nach Änderungen in dieser Baseline, anstatt bei den absoluten Schwellenwerten.

      Hinweis

      Hohe Werte können hier auch Indikatoren für Verzögerungen bei „Proxying“-Anforderungen an andere Domänen und Überprüfungen von Zertifikatssperrlisten sein.

    • NTDS\Geschätzte Warteschlangenverzögerung: Diese sollte idealerweise nahe 0 sein, um eine optimale Leistung zu erzielen, da dies bedeutet, dass Anforderungen keine Zeit mit Warten auf die Verarbeitung verbringen.

Diese Szenarien können mithilfe eines oder mehrerer der folgenden Ansätze erkannt werden:

Sonstige Indexaspekte

  • Stellen Sie sicher, dass das Erstellen des Indexes die richtige Lösung für das Problem ist, nachdem die Optimierung der Abfrage als Option ausgeschöpft wurde. Die richtige Dimensionierung der Hardware ist sehr wichtig. Indizes sollten nur hinzugefügt werden, wenn die richtige Korrektur darin besteht, das Attribut zu indizieren, und keinen Versuch darstellen, Hardwareprobleme zu verschleiern.

  • Indizes erhöhen die Größe der Datenbank um mindestens die Gesamtgröße des Attributs, das indiziert wird. Eine Schätzung des Datenbankwachstums kann daher ausgewertet werden, indem die durchschnittliche Größe der Daten im Attribut mit der Anzahl der Objekte multipliziert wird, für die das Attribut aufgefüllt wird. Im Allgemeinen ist dies ein Anstieg der Datenbankgröße um etwa 1 %. Weitere Informationen finden Sie unter Funktionsweise des Datenspeichers.

  • Wenn das Suchverhalten überwiegend auf der Ebene der Organisationseinheit erfolgt, sollten Sie die Indizierung für containerisierte Suchen in Betracht ziehen.

  • Tupelindizes sind größer als normale Indizes, aber ihre Größe lässt sich viel schwieriger abschätzen. Verwenden Sie die Größenschätzungen für normale Indizes als Untergrenze für das Wachstum mit einem Maximum von 20 %. Weitere Informationen finden Sie unter Funktionsweise des Datenspeichers.

  • Wenn das Suchverhalten überwiegend auf der Ebene der Organisationseinheit erfolgt, sollten Sie die Indizierung für containerisierte Suchen in Betracht ziehen.

  • Tupelindizes werden benötigt, um Mittensuchzeichenfolgen und Endsuchzeichenfolgen zu unterstützen. Tupelindizes werden für Anfangssuchzeichenfolgen nicht benötigt.

    • Anfangssuchzeichenfolge – (samAccountName=MYPC*)

    • Mittensuchzeichenfolge – (samAccountName=*MYPC*)

    • Endsuchzeichenfolge – (samAccountName=*MYPC$)

  • Beim Erstellen eines Indexes werden E/A-Datenträgervorgänge generiert, während der Index erstellt wird. Dies erfolgt in einem Hintergrundthread mit niedrigerer Priorität, und eingehende Anforderungen werden gegenüber der Indexerstellung priorisiert. Wenn die Kapazitätsplanung für die Umgebung ordnungsgemäß erfolgt ist, sollte dies transparent sein. Allerdings können schreibintensive Szenarien oder eine Umgebung, in der die Auslastung des Domänencontrollerspeichers unbekannt ist, die Clienterfahrung beeinträchtigen und sollten außerhalb der Geschäftszeiten ausgeführt werden.

  • Die Auswirkungen auf Replikationsdatenverkehr sind minimal, da die Erstellung von Indizes lokal erfolgt.

Weitere Informationen finden Sie in den folgenden Themen:

Weitere Verweise