On Sat, 2012-06-30 at 08:52 -0400, Mark London wrote:
Here is my solution to have a persistant uptodate local cache of all
ldap entries, so as to avoid very long delays when a user issues a
command that causes a large number of LDAP lookups, i.e. by doing a "ls
-l /home":
enumerate = true
enum_cache_timeout = 86400
ldap_purge_cache_timeout = 0
ldap_enumeration_refresh_timeout = 300
I set the cache timeout to be 24 hours, and do an enumerate every 5 minutes.
What I would like to know, is why such long delays (i.e. minutes) occurs
when doing an "ls -l /home". Is it because it has to write out each
entry into the local database? Just curious. :) Thanks.
How many users are we talking about, and are they all represented
in /home?
The initial enumeration can take up to a few minutes the first time
(after that we only update on differences). Once the full enumeration
has been completed, it should take about 0.02 seconds per lookup against
the local cache. On ordinary lookups, there are no writes going on.
Writes to the cache only occur on cache misses.