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

Re: Performance issues lately.

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/