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/