Doing performance testing on an AD-LDS (Server 2008 R2 64 bits), we created a milion user in a single OU. We also created a single group object and made those milion users member of that group.
When we try to list the milion of users ADSIEdit times out with an error message saying it cannot display that many users. Fine.
But if we open the properties for the group, ADSIEdit freezes, eating up all available memory and CPU trashing (nearly 60M page faults in under an hour).
AD-LDS (running on another computer) is barely hitting the 1% CPU mark, servicing other ldap requests as if nothing were.
We can throw more memory at the problem, but more users will have to be managed one day and we will be back at square one.
Is there a way to set a limit in ADSIEdit so that it will not hang the computer when retreving a very large multi-value object ?
Not that I'm aware of. LDAP is perfectly fine giving a small set of values for a multi-value attribute, but to my knowledge ADSIEDIT does not take advantage of that. Another tool will be better for managing such objects.
For a directory structure such as you describe managing things through scripting is probably the best way to go, rather than trust the GUI tools. The command-line tools that come with RSAT are very good at object manipulations, even for very large objects.