Jorgen Lundman wrote:
No real reason, tried various different settings but to no real advantage.
Now I have:
Filesystem size used avail capacity Mounted on
swap 19G 7.7G 11G 42% /tmp
# grep cache DB_CONFIG
set_cachesize 8 0 1
# time /usr/local/BerkeleyDB.4.8/bin/db_stat -d id2entry.bdb
real 6m6.099s
# time cp id2entry.bdb /dev/null
real 0m0.040s
(It's not on disk)
I thought to delete id2entry.bdb, and use slapindex to re-generate it but that
appears not to be a supported feature. slapindex can not run without a valid
id2entry.bdb. This is why I tried slapcat, rm *, slapadd. But no difference in
speed up.
If I truss with -u *:* (All inter-library calls) I get no "single" large
system
call, just a lot of work somewhere (that does not call read/write etc). Alas,
the number of lines in truss file is:
6209933 /var/tmp/db_stat_truss
truss is pretty much useless in this context. Most of BDB's activity is thru
memory-mapping, which involves no system calls for truss to trace. You need an
actual profile (e.g. using oprofile) to identify where the time is going.
--
-- Howard Chu
CTO, Symas Corp.
http://www.symas.com
Director, Highland Sun
http://highlandsun.com/hyc/
Chief Architect, OpenLDAP
http://www.openldap.org/project/