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

RE: strange performance problem



On Sun, 23 Mar 2003, Howard Chu wrote:

> > -----Original Message-----
> > From: owner-openldap-software@OpenLDAP.org
> > [mailto:owner-openldap-software@OpenLDAP.org]On Behalf Of Cuong bui
> 
> > during the first 4 testruns the openldapserver used 98% cpu processing
> time.
> > (seen in top) After the initial 4 runs, slapd only consumes 40%-75% cpu
> > processing time. somethimes it's even dropping to a few %.
> 
> This implies that the balance of time shifted from in-memory operation to
> disk I/O. Why do you suppose that might be? Perhaps you have run out of cache
> memory? Perhaps you have run out of disk space? Perhaps you should run
> db_stat and see?

I was guessing on a lock problem. Because there's no disk activity and the
cpu isn't working hard either. I think i have enough memory left. (top
shows more then 400MB free). I've also have enough disc space (about 4GB
free). I've dug into some config files, there are cache paramters for ldbm
but these don't work for bdb ?

i've just ran db_Stat , i don't know how to read the result correctly but,
i think i'm seeing a lock problem.

output of db_stat -C A 

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Lock region parameters
locker table size: 1031, object table size: 1031, obj_off: 360112,
osynch_off: 0, locker_off: 351856, lsynch_off: 0, need_dd: 0

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Conflict matrix
0   0   0   0   0   0   0   0   0
0   0   1   0   1   0   1   0   1
0   1   1   1   1   1   1   1   1
0   0   0   0   0   0   0   0   0
0   1   1   0   0   0   0   1   1
0   0   1   0   0   0   0   0   1
0   1   1   0   0   0   0   1   1
0   0   1   0   1   0   1   0   0
0   1   1   0   1   1   1   0   1
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Locks grouped by lockers
Locker    Mode    Count   Status      ----------- Object ----------
      ec dd= 0 locks held 1    write locks 0
      ec  READ         1  HELD        id2entry.bdb        handle   0

      ed dd= 0 locks held 0    write locks 0
      ee dd= 0 locks held 1    write locks 0
      ee  READ         1  HELD        dn2id.bdb           handle   0

      ef dd= 0 locks held 0    write locks 0
      f0 dd= 0 locks held 0    write locks 0
      f1 dd= 0 locks held 0    write locks 0
      f2 dd= 0 locks held 0    write locks 0
      f3 dd= 0 locks held 0    write locks 0
      f4 dd= 0 locks held 0    write locks 0
      f5 dd= 0 locks held 2    write locks 0
      f5  READ         1  HELD        objectClass.bdb     handle   2
      f5  READ         1  HELD        objectClass.bdb     handle   0

      f8 dd= 0 locks held 0    write locks 0
      f9 dd= 0 locks held 0    write locks 0
      fa dd= 0 locks held 2    write locks 0
      fa  READ         1  HELD        orderNumber.bdb     handle   2
      fa  READ         1  HELD        orderNumber.bdb     handle   0

      fd dd= 0 locks held 0    write locks 0
      fe dd= 0 locks held 0    write locks 0
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Locks grouped by object
Locker    Mode    Count   Status      ----------- Object ----------
      ec  READ         1  HELD        id2entry.bdb        handle   0

      ee  READ         1  HELD        dn2id.bdb           handle   0

      f5  READ         1  HELD        objectClass.bdb     handle   2

      f5  READ         1  HELD        objectClass.bdb     handle   0

      fa  READ         1  HELD        orderNumber.bdb     handle   0

      fa  READ         1  HELD        orderNumber.bdb     handle   2

=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
Memory free list
0x40261004: 111844


> 
> The BDB documentation that SleepyCat provides is also required reading.

Yes i've downloaded these ;)