sgallagh@redhat.com 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 (every 24 hours) ldap_purge_cache_timeout = 0 ldap_enumeration_refresh_timeout = 300 What I would like to know, is why long delays occur when doing an "ls -l /home". Is it because it has to write out each entry into the local database?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.
"ls -l /home" is fast after enumeration. But if I allow the enum cache to time out, then "ls -l /home" take minutes. We have 430 directories. I get around this problem, by setting the cache timeout to be very long. However, it appears that using this configuration, both sssd_nss and sssd_be are constantly growing in size. I.e., here are the memory size after about 3 days of use. The resident memory has grown from about 21m to over 200m. The ldap refresh (every 5 minutes), appears to be constantly adding to the cache. Or maybe there is a problem with my configuration that is causing this?
10468 root 20 0 402m 236m 14m S 0.7 1.5 2:50.74 sssd_nss
10467 root 20 0 424m 222m 8164 S 0.0 1.4 10:20.20 sssd_be
Thanks. - Mark
_______________________________________________ sssd-devel mailing list sssd-devel@lists.fedorahosted.org https://fedorahosted.org/mailman/listinfo/sssd-devel
-- Thank you, Dmitri Pal Sr. Engineering Manager IPA project, Red Hat Inc. ------------------------------- Looking to carve out IT costs? www.redhat.com/carveoutcosts/