[Date Prev][Date Next] [Chronological] [Thread] [Top]

Re: commit: ldap/servers/slapd/back-bdb config.c

Related to the IDL cache sizing issue, some IDL cache entries can be very long (especially
for dn2id indices or for index keys that map to a lot of entries). If the large IDL cache
entry is not to be frequently accessed, it will degrade performance since it effectively
reduces the size of the IDL cache (when the IDL cache is size controlled) or initiates
swapping (when the IDL cache is entry-count controlled). Although the current IDL cache
sizing counts just the number of IDL cache entries, eventually we need to change it to
count the size of the IDL cache.

A direct scheme to avoid the negative effects of caching large entries is to have an upper
threshold in the cacheability of the IDL cache.
Another scheme would be to perform a weighted cacheability decision where the upper
threshold can be changed on entry-by-entry basis according to the rate of access to the
IDL cache entries. Then larger entries need more accesses before it can be cached in the
IDL cache.
One more scheme to consider is to have an entry aging scheme where the rate of ages can be
different for different size groups of the IDL cache entries. Oldest entries subject to
different aging speeds can then be evicted upon replacement.

BTW, is the 10x sizing recommended as the default setup only ? or is it generally
recommended ?
The required size of the IDL cache seems to depend on the workload patterns. In fact, we
are working on an adaptive cache tuning mechanism based on the working set estimates of
each OpenLDAP caches. For example, if the working set size of the IDL cache and the
working set size of the entry cache can be determined for the current workload pattern,
we'll be able to resize the IDL and the entry cache size by evicting less frequently or
less recently accessed entries of these caches.

- Jong

----- Original Message -----
From: <hyc@OpenLDAP.org>
To: "OpenLDAP Commit" <openldap-commit2devel@OpenLDAP.org>
Sent: Friday, March 05, 2004 7:46 AM
Subject: commit: ldap/servers/slapd/back-bdb config.c

> Update of /repo/OpenLDAP/pkg/ldap/servers/slapd/back-bdb
> Modified Files:
> config.c  1.31 -> 1.32
> Log Message:
> Set IDL cache to 10x Entry cache by default
> CVS Web URLs:
>   http://www.openldap.org/devel/cvsweb.cgi/servers/slapd/back-bdb/
>     http://www.openldap.org/devel/cvsweb.cgi/servers/slapd/back-bdb/config.c
> Changes are generally available on cvs.openldap.org (and CVSweb)
> within 30 minutes of being committed.