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

openldap, bdb versions and performance issue



Hello Guys,

Last week I upgraded our openldap server to 2.4.16 and we had terrible performance problems.

Quanah suggested me to use this options with bdb compilation:

--enable-posixmutexes --with-mutex=POSIX/pthreads


I compiled and tested openldap with different versions of BDB and the results are odd:

OpenLDAP version

BDB version

Test time 1 (seconds)

Test time 2 (seconds)

Test time 3 (seconds)

2.4.16

BDB 4.5.20

256.2008

260.5799

273.933

2.4.16

BDB 4.6.21

265.428

260.2496

255.0599

2.4.16

BDB 4.7.25

261.5573

254.2001

259.9456

2.3.30-5 (debian package)

BDB 4.2.52

257.7173

251.3512

250.8456



The test consist on make some operations:
for ($i=0; $i<=1; $i++)
{
��� make_add(1000);
��� make_search(10000);
��� make_mod(500);
��� make_get_entries(10000);
��� make_del(200);
��� make_add(1000);
��� make_search(10000);
��� make_mod(500);
��� make_get_entries(10000);
��� make_del(200);
}

Like you can see, the best result was using to old version of openldap server with the old version of BDB.

Even more odd was the use of CPU. Using these old versions, the consume of CPU was half then using the new ones.

The slapd.conf and DB_CONFIG were the same on all tests.

Here are the compilation lines:

BDB:
CFLAGS="-Wall -g -O2" CPPFLAGS="-I/usr/include/tcl8.5" LDFLAGS="-lpthread" ../dist/configure --enable-cxx --enable-compat185 --enable-rpc --enable-tcl --enable-posixmutexes --with-uniquename --with-tcl=/usr/lib/tcl8.5 --with-mutex=POSIX/pthreads --enable-test

Openldap:
CFLAGS="-Wall -g -D_FILE_OFFSET_BITS=64 -O2" ./configure --prefix=/usr --libexecdir=/usr/lib --sysconfdir=/etc --localstatedir=/var --mandir=/usr/share/man --enable-debug --enable-dynamic --enable-syslog --enable-proctitle --enable-ipv6 --enable-local --enable-slapd --enable-aci --enable-cleartext --enable-crypt --enable-spasswd --enable-modules --enable-rewrite --enable-slp --enable-wrappers --enable-bdb=mod --enable-hdb=mod --enable-ldap=mod --enable-meta=mod --enable-monitor=mod --enable-relay=mod --enable-overlays=mod --with-subdir=ldap --with-cyrus-sasl --with-threads --with-tls=openssl --with-odbc=unixodbc

DB_CONFIG:
set_cachesize 0 524288000 0
set_lk_max_objects 15000
set_lk_max_locks 15000
set_lk_max_lockers 15000
set_shm_key���� 5

slapd.conf:
some index and
cachesize������ 10000
idlcachesize��� 10000

Is there some wrong or these are the expected results ?

I appreciate any tip.

Best regards,
Jo�Alfredo