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

2.4.10 slow when deleting member from large group

I have a server with 20,000 account entries and one group that
has 10,000 members. Deleting members from that group is very slow
on OpenLDAP 2.4.10, though adding goes at a reasonable speed.

Here is the test operation:

dn: uniqueIdentifier=tenK,ou=groups,uniqueIdentifier=o_000000,dc=orgs,dc=dir,dc=example,dc=com
changetype: modify
delete: member
add: member

On 2.3.42 that takes about 1s with the caches warm, but on 2.4.10
it takes almost 9s, most of which is CPU time.

The test machine has 2GB of memory and the DB_CONFIG looks like this
for BDB:

# memory cache size
# gigabytes bytes number-of-regions
set_cachesize 0 150000000 1

# Logbuffer size
# bytes
set_lg_bsize 2097152

# Remove the roll-forward transaction logs automatically
# This reduces the space used by the database but it also reduces
# the disaster-recovery options.


There is no disk activity during most of the 9s, with a large burst
of writes at the end.

There have been various discussions about *adding* members to large
groups in the past, but the problems appeared to have been solved in recent

The problem is certainly related to indexing, as if I remove indexing
from the 'member' attribute I get times of about 0.3s on 2.4.10.
(Note: overall times are measured by timing an ldapmodify script, so
not very accurate below 0.5s)

Does anyone know why this operation should have got slower from 2.3.x
to 2.4.x ?

|                 From Andrew Findlay, Skills 1st Ltd                 |
| Consultant in large-scale systems, networks, and directory services |
|     http://www.skills-1st.co.uk/                +44 1628 782565     |