Bug 43694 - UDM does not scale well (bad performance) for lots of users especially with jpegPhoto set
UDM does not scale well (bad performance) for lots of users especially with j...
Status: NEW
Product: UCS
Classification: Unclassified
Component: UDM (Generic)
UCS 5.0
Other Linux
: P5 normal with 2 votes (vote)
: ---
Assigned To: UMC maintainers
UDM maintainers
:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2017-03-02 10:48 CET by Jürn Brodersen
Modified: 2020-06-22 17:06 CEST (History)
5 users (show)

See Also:
What kind of report is it?: Bug Report
What type of bug is this?: 2: Improvement: Would be a product improvement
Who will be affected by this bug?: 3: Will affect average number of installed domains
How will those affected feel about the bug?: 3: A User would likely not purchase the product
User Pain: 0.103
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 Jürn Brodersen univentionstaff 2017-03-02 10:48:59 CET
UDM does not scale well (bad performance) for lots of users especially with jpegPhoto set.
ldap-search is significantly faster than udm.

600 users, no jpegPhoto:

time ldapsearch -x -D "uid=Administrator,cn=users,dc=univention,dc=intranet" -w univention "(univentionObjectType=users/user)" > /dev/zero

real	0m0.514s
user	0m0.020s
sys	0m0.020s

time udm users/user list > /dev/zero

real	0m5.794s
user	0m0.204s
sys	0m0.064s

time umc-command -U Administrator -P univention  udm/query -f "users/user" -o objectProperty=None > /dev/zero

real	0m4.553s
user	0m1.296s
sys	0m0.076s



600 users, 400 with jpegPhoto set (around 300MB in total)

time ldapsearch -x -D "uid=Administrator,cn=users,dc=univention,dc=intranet" -w univention "(univentionObjectType=users/user)" > /dev/zero

real	0m4.905s
user	0m1.468s
sys	0m0.188s
* without retrieving the jpegPhoto the call gets a bit faster (~1.5s)

time udm users/user list > /dev/zero
E: Daemon died.

real	1m55.495s
user	0m0.072s
sys	0m0.072s
* I don't know any way to not retrieve the jpegPhoto with udm, maybe we should retrieve binary data only if requested.

time umc-command -U Administrator -P univention  udm/query -f "users/user" -o objectProperty=None > /dev/zero

real	1m2.066s
user	0m3.644s
sys	0m0.536s
* umc-command does not return jpegPhoto if not requested


To be fair this was tested on a VM with 1 core and 1G of ram. In reality a domain controller with 500+ users will probably be on a faster machine.
Comment 1 Alexander Kläser univentionstaff 2017-03-07 09:47:45 CET
I see the following options for an optimization:
* Restrict photos to a size of NxN (configurable via a UCR variable)
* Make sure that a simple query command does ignore the photo property (but maybe 
  the size restriction already helps here)