Bug 21010 - Geschwindigkeit Synchronisation Gruppenmitglieder
Geschwindigkeit Synchronisation Gruppenmitglieder
Status: CLOSED FIXED
Product: UCS
Classification: Unclassified
Component: AD Connector
UCS 2.4
Other Linux
: P5 enhancement (vote)
: UCS 3.0 - RC
Assigned To: Stefan Gohmann
Felix Botner
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2010-12-20 10:37 CET by Ingo Steuwer
Modified: 2011-12-13 15:50 CET (History)
1 user (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
Max CVSS v3 score:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ingo Steuwer univentionstaff 2010-12-20 10:37:39 CET
Die Funktionen für den Abgleich von Gruppenmitgliedschaften benötigen für große Gruppen relativ lange, da einige Iterationen über die Mitglieder für den Abgleich gemacht werden. Ich sehe hier folgende Verbesserungsoptionen:

- Optimieren des Codes:
* verringern der Anzahl der for-Schleifen
* verringern der Anzahl der Mappings von Mitglieder-DNs

- Optimieren des Verfahrens:
Man könnte die zu synchronisierenden Gruppen in eine Liste schreiben, die am Ende eines Sync-Laufs (AD -> UCS oder UCS -> AD) abgearbeitet wird. Wenn mehrere User synchronisiert werden ist vor allem bei großen Gruppen mit erheblichen Verbesserungen zu rechnen, da sie sowohl oft vorkommen als auch hohen Sync-Aufwand generieren.
Comment 1 Stefan Gohmann univentionstaff 2011-10-07 07:50:27 CEST
Es hat jetzt einige Anpassungen für diese Richtung gegeben, siehe auch Bug #23734:

- 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 2 Felix Botner univentionstaff 2011-12-02 14:59:06 CET
siehe Bug #23734,

changelog Eintrag vorhanden.
Comment 3 Sönke Schwardt-Krummrich univentionstaff 2011-12-13 15:50:03 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"