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

RE: openldap versions and silent exit





--On Tuesday, August 10, 2004 9:00 PM -0400 James Courtney <Jcourtney@inphonic.com> wrote:

Hey Quanah,

DB_CONFIG:
# Set cachesize to 32MB
set_cachesize 0 33554432 0

slapd.conf:
cachesize 100000 (~20k entries actually in the DB)

idlcachesize?  I don't have this anywhere

Backend is BDB 4.2.52.

Hi,

Please don't email me directly, or at least CC the list. :)

Your DB_CONFIG might be too small.  There are a number of ways to check.

I suggest running "db_stat -m" in your DB directory and look for things like a high number of locks granted after waiting

Here's output from my test master:

ldap-test0:/db# db_stat -m
2GB     Total cache size.
1       Number of caches.
2GB     Pool individual cache size.
0       Requested pages mapped into the process' address space.
119M    Requested pages found in the cache (100%).
16      Requested pages not found in the cache.
112213  Pages created in the cache.
16      Pages read into the cache.
313145  Pages written from the cache to the backing file.
0       Clean pages forced from the cache.
0       Dirty pages forced from the cache.
0       Dirty pages written by trickle-sync thread.
112229  Current total page count.
112229  Current clean page count.
0       Current dirty page count.
262147  Number of hash buckets used for page location.
119M    Total number of times hash chains searched for a page.
2       The longest hash chain searched for a page.
134M    Total number of hash buckets examined for page location.
605M    The number of hash bucket locks granted without waiting.
418773  The number of hash bucket locks granted after waiting.
29      The maximum number of times any hash bucket lock was waited for.
380048  The number of region locks granted without waiting.
109     The number of region locks granted after waiting.
112269  The number of page allocations.
0       The number of hash buckets examined during allocations
0       The max number of hash buckets examined for an allocation
0       The number of pages examined during allocations
0       The max number of pages examined for an allocation



As you can see, the number of region locks after waiting (109) is quite low compared to the number granted without waiting (380,000)

Also, the number of hash bucket locks granted after waiting (418,000) is quite low compared to the number granted without waiting (605 Million)

There is no need to set cachesize higher than your total number of entries.

The backend you are using is determined in slapd.conf in the "database XXX" parameter. That backend, if it is ldbm or bdb, is then overlayed on top of BDB 4.2.52.


Also, if that is all there is to your DB_CONFIG file, you may also want to set some other parameters like:


set_lg_regionmax 262144
set_lg_bsize 2097152
set_lg_dir <YOUR LOG DIRECTORY>

Note that storing the BDB logs on a separate disk or spindle dramatically increases the performance of OpenLDAP.

idlcachesize might be a 2.2 only option, I'm not sure, I abandoned 2.1 a while ago.

--Quanah


-- Quanah Gibson-Mount Principal Software Developer ITSS/Shared Services Stanford University GnuPG Public Key: http://www.stanford.edu/~quanah/pgp.html