[Pkg-openldap-devel] OpenLDAP 2.3.20 "stable" (fwd)

Quanah Gibson-Mount quanah at stanford.edu
Tue Feb 28 21:33:54 UTC 2006



--On Tuesday, February 28, 2006 10:18 PM +0100 Matthijs Mohlmann 
<matthijs at cacholong.nl> wrote:

> Thanks, this is also the version we have currently in svn ?
>
> I followed your suggestion and make use of the dbconfig as described in
> the manpage slapd-bdb for new configurations. But I still get the
> following warning:
>
> monster:~# slapadd -l cacholong.ldif
> bdb_db_open: Warning - No DB_CONFIG file found in directory
> /var/lib/ldap: (2)
> Expect poor performance for suffix dc=cacholong,dc=nl.


The database configuration parameters must appear *after* the "database" 
directive, as DB_CONFIG files are 'per backend'.

General other notes on what you've posted:


For slapadd and slapindex, I suggest the "-q" flag. ;) It saves significant 
amounts of time.

There is a new parameter in 2.3, "tool-threads".  For multi-CPU systems, 
this should be set to the number of available processors.  It allows 
slapadd and slapindex to use multiple CPU's to index the database.  We 
should probably have a comment about this in our slapd.conf file.




># Sven Hartge reported that he had to set this value incredibly high
># to get slapd running at all. See http://bugs.debian.org/303057
># for more information.
>
># Number of objects that can be locked at the same time.
> dbconfig set_lk_max_objects 5000
># Number of locks (both requested and granted)
> dbconfig set_lk_max_locks 5000
># Number of lockers
> dbconfig set_lk_max_lockers 5000


The locker values necessary to run depend on the number of indices you have 
defined.  If you have a lot of indices, you need a lot of lockers.  For 
example, @ Stanford, we have approximately 90 attributes indexed with a 
variety of index types.  We passed the default 1000 locker value some time 
ago, and I upped it to 3,000.  We haven't come even close to hitting 5,000. 
This value seems a bit high.  You can check on your locker statistics with:

"db_stat -c"

For example:

ldap2:/db# db_stat -c
36397   Last allocated locker ID.
2147M   Current maximum unused locker ID.
9       Number of lock modes.
3000    Maximum number of locks possible.
1000    Maximum number of lockers possible.
1000    Maximum number of lock objects possible.
42      Number of current locks.
1345    Maximum number of locks at any one time.
164     Number of current lockers.
454     Maximum number of lockers at any one time.
39      Number of current lock objects.
717     Maximum number of lock objects at any one time.
1555M   Total number of locks requested.
4244M   Total number of locks released.
1605M   Total number of lock requests failing because DB_LOCK_NOWAIT was 
set.
156285  Total number of locks not immediately available due to conflicts.
0       Number of deadlocks.
0       Lock timeout value.
0       Number of locks that have timed out.
0       Transaction timeout value.
0       Number of transactions that have timed out.
720KB   The size of the lock region..
347519  The number of region locks granted after waiting.
3607M   The number of region locks granted without waiting.


As you can see here:

I'm using 42 out of 3,000 locks.
I'm using 164 out of 1,000 lockers
I'm using 39 out of 1,000 lock objects.

My all time maximum's are:

1,345 locks out of 3,000
454 lockers out of 1,000
717 lock objects out of 1,000

So I may want to up my lock objects at some point to 3,000 or so.



--Quanah


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



More information about the Pkg-openldap-devel mailing list