We should check, if we can improve the performance of modifications to large groups by using the sortvals parameter on uniqueMember and memberUid. The comment https://bugs.openldap.org/show_bug.cgi?id=9349#c6 recommends this. sortvals <attr> [...] Specify a list of multi-valued attributes whose values will always be maintained in sorted order. Using this option will allow Modify, Compare, and filter evaluations on these attributes to be performed more efficiently. The resulting sort order depends on the attributes' syntax and matching rules and may not correspond to lexical order or any other recognizable order.
We found the performance decreases exponentially when the groups get big (multiple thousands). We should give this option a try in a errata update.
Performance can become so bad that requests get cancelled and the database is inconsistent.
small typo, but broke the ldap server: [5.0-9 c3d59f4502] Bug #52175: fix typo already rebuild
Successful build Package: univention-ldap Version: 16.0.17-5 Branch: 5.0-0 Scope: errata5.0-9 univention-ldap.yaml 9ccad473e4de | Bug #52175: make sortvals configurable via UCR variable via ldap/server/sortvals e646d6d03a53 | Bug #52175: Use sortvals in slapd.conf for uniqueMember and memberUid univention-ldap (16.0.17-5) 9ccad473e4de | Bug #52175: make sortvals configurable via UCR variable via ldap/server/sortvals univention-ldap (16.0.17-4) c3d59f4502e7 | Bug #52175: fix typo univention-ldap (16.0.17-3) d1300226af13 | Bug #52175: Found a nicer place for sortvals univention-ldap (16.0.17-2) cd2d9aaa1e3a | Bug #52175: Use sortvals in slapd.conf for uniqueMember and memberUid
Created attachment 11280 [details] Time required for adding one uniqueMember entry to a group depending on the group size
Created attachment 11281 [details] Time required for removing one random uniqueMember entry from a group depending on the group size (both test series used the same randomized sequence → same seed)
We should update the UCR variable description since it has a very limited or no effect when adding entries to an attribute (see attached graphs).
Successful build Package: univention-ldap Version: 16.0.17-6 Branch: 5.0-0 Scope: errata5.0-9 univention-ldap (16.0.17-6) 6c6f095edf2c | Bug #52175: Update description for `ldap/server/sortvals`
Sönke: Can you run those performance tests also for group sizes > 5000? Say 5, 10, 15, 20k members? IMHO that is where the pain is really big.
<https://errata.software-univention.de/#/?erratum=5.0x1212>