Bug 23734 - Performance-Optimierung des AD Connectors in grossen Umgebungen
Summary: Performance-Optimierung des AD Connectors in grossen Umgebungen
Status: CLOSED FIXED
Alias: None
Product: UCS
Classification: Unclassified
Component: AD Connector
Version: UCS 2.4
Hardware: Other Linux
: P2 enhancement
Target Milestone: UCS 3.0 - RC
Assignee: Stefan Gohmann
QA Contact: Felix Botner
URL:
Keywords:
: 13587 22589 (view as bug list)
Depends on: 18619
Blocks:
  Show dependency treegraph
 
Reported: 2011-09-21 13:30 CEST by Stefan Gohmann
Modified: 2011-12-13 15:50 CET (History)
4 users (show)

See Also:
What kind of report is it?: ---
What type of bug is this?: ---
Who will be affected by this bug?: ---
How will those affected feel about the bug?: ---
User Pain:
Enterprise Customer affected?:
School Customer affected?:
ISV affected?:
Waiting Support:
Flags outvoted (downgraded) after PO Review:
Ticket number:
Bug group (optional): UCS Performance
Customer ID:
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Stefan Gohmann univentionstaff 2011-09-21 13:30:09 CEST
Die gemachten Änderungen betreffen fast nur den Weg von UCS nach AD. Die umgekehrte Richtung sollte auch optimiert werden.

+++ This bug was initially created as a clone of Bug #18619 +++

Die Performance des AD Connectors beim initialen Sync grosser Umgebungen sollte
analysiert und weiter optimiert werden:

Ansatzpunkte:
- Existieren redundante Konsistenz-Checks / doppelte Prüfungen auf
Gruppenmitgliedschaften?
- Können LDAP-Anfragen vermieden oder zwischengespeichert werden?
- Kann die Abarbeitungsreihenfolge der Änderungen optimiert werden?

Detaillierte Beobachtungen aus einer Kundenumgebung finden sich an Ticket
2010040110000284.
Comment 1 Stefan Gohmann univentionstaff 2011-10-06 07:58:00 CEST
*** Bug 22589 has been marked as a duplicate of this bug. ***
Comment 2 Stefan Gohmann univentionstaff 2011-10-06 14:10:41 CEST
*** Bug 13587 has been marked as a duplicate of this bug. ***
Comment 3 Stefan Gohmann univentionstaff 2011-10-07 07:50:09 CEST
Es hat jetzt einige Anpassungen für diese Richtung gegeben:

- Implementierung von Page Results. Dadurch wird das AD in der Initialisierungsphase nicht mehr in 1000er Schritten durchlaufen, sondern es wird das gesamte AD auf einmal abgefragt. Gerade sehr "alte" ADs haben eine hohe Nummer, weshalb die Iterationen häufig sehr lange gedauert haben.

- In der Intialisierungsphase wurden mit jedem Schritt die erzeugten und die geänderten Objekte gesucht. Da jedes geänderte Objekt auch einmal erzeugt wurde, wurden am Anfang alle Objekte doppelt synchronisiert. Das wurde angepasst.

- Sobald das AD gepollt wird, werden die neuen Objekte und die geänderten Objekte gesucht. Der Code wurde so ergänzt, dass doppelte Objekte nur einmal synchronisiert werden.

- Im Gruppensync wird jetzt ein Cache aufgebaut, so dass jedes Gruppenmitglied im Gruppensync nicht zweimal, sondern nur einmal abgefragt wird.

- Es wird bei einigen Suchen jetzt explizit nur nach der DN gesucht. Das ist vor allem bei der Suche nach Benutzer / Gruppen relevant, da AD über eine Art Overlay Module noch einige Zusatzabfragen generiert, IMHO für memberOf.

- Das UDM Modul für die Gruppe wurde beim Modifizieren zweimal geöffnet. Das wurde abgestellt.
Comment 4 Felix Botner univentionstaff 2011-12-02 14:58:25 CET
AD mit 6000 Benutzern und 600 Gruppen (je 10 verschiedene und 20 gleiche Benutzer).

Sync von AD w2k8 nach UCS 3.0 (sync mode) 4:30h.

Alle Benutzer und Gruppen auf UCS vorhanden (Gruppenzugehörigkeit stichprobenartig getestet). Danach den weitere Benutzer angelegt, klappte. Connector neu gestartet und weitere Benutzer angelegt, klappt auch.
Comment 5 Sönke Schwardt-Krummrich univentionstaff 2011-12-13 15:50:47 CET
UCS 3.0-0 wurde veröffentlicht. Sollte der hier beschriebene Bug mit einer
neueren Version von UCS erneut auftreten, so sollte dieser Bug dupliziert
werden: "Clone This Bug"