Hello,
I've a problem with the speed of replication.
I've set up openldap 2.4.33 with a Master and one consumer. At the
moment the full replaction takes abaout 32hours.
No LDAP operations are made on master or consumer during this time.
(I know, i depends on Hardware too, but the two servers are fast )
How long should it need, to replicate a DB from about 6GByte
(id2entry.bdb + dn2id.bdb) with 1.6M DN's and about 66M Attributes.
Replication is configured with RefreshAndPersist, no DeltaSync. Both
servers are on the same IP segment, connected via gigabit ethernet
switch.
I played in test environment with different parameters:
- shm_key
- dbnosync
- switched off all indexes on consumer except entryUUID and entryCSN
- different bdb cachesize
- noatime, relatime
- ext3/xfs
I locked on disk via iostat (nothing seen), no io waits with top,
looked on network, but max 5Mbit/s is used,
I listen with strace on slapd and I see, that slapd is reading from
Network and wrinting it to id2entiry.bdb.
Before each Test, I deleted complete ldap db (except DB_CONFIG) and
shared memory ipcrm -m
Are there similar limitations, that will trigger slow replication like
BDB_IDL_LOGN?
How can I accelerate this Replication.
I'm of the opinion that it was significantly faster with a smaller database.
Thanks and kindly regards Meike
Configuration:
--------------------
Configuration is only a test configuration, some values differs,
some are commented out because of playing with them.
# Master (Provider)
==========================================================
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/yast.schema
include /etc/openldap/schema/rfc2307bis.schema
pidfile /var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args
modulepath /usr/lib/ldap
moduleload back_bdb
moduleload syncprov
sizelimit -1
timelimit 300
tool-threads 8
threads 8
serverID 001
########################################
database bdb
suffix "ou=root"
rootdn "cn=admin,ou=root"
#loglevel stats sync
loglevel 0
rootpw <password>
directory /DATA/ldap
#cachesize 500000
#dncachesize 500000
#idlcachesize 150000
cachefree 500
dirtyread
dbnosync
shm_key 7
checkpoint 4096 15
index objectClass,entryUUID,entryCSN eq
index cn eq,sub
index ownattributes ....
overlay syncprov
syncprov-checkpoint 100 5
# Consumer
==========================================================
include /etc/openldap/schema/core.schema
include /etc/openldap/schema/cosine.schema
include /etc/openldap/schema/inetorgperson.schema
include /etc/openldap/schema/yast.schema
include /etc/openldap/schema/rfc2307bis.schema
pidfile /var/run/slapd/slapd.pid
argsfile /var/run/slapd/slapd.args
modulepath /usr/lib/ldap
moduleload back_bdb
moduleload syncprov
sizelimit -1
timelimit 300
serverID 002
#loglevel stats sync
loglevel 0
########################################
database bdb
suffix "ou=root"
rootdn "cn=admin,ou=root"
checkpoint 4096 15
rootpw <password>
directory /DATA/ldap
dbnosync
shm_key 7
checkpoint 4096 15
#cachesize 100000
#dncachesize 100000
#idlcachesize 150000
#cachefree 500
#dirtyread
syncrepl rid=020
provider=ldap://192.168.1.10
type=refreshAndPersist
retry="5 5 300 +"
searchbase="ou=root"
attrs="*,+"
bindmethod=simple
binddn="cn=admin,ou=root"
credentials=<password>
index entryUUID,entryCSN eq
#index cn eq,sub
mirrormode FALSE