First test with your sugestions. I am using Phyton program writen by me to add data to server. Server is Centos 6.2 based (hardware described in my first post) Python runs on separeate dual core PC with 1Gb connection to servers. Servers are configured as N-way Multymaster
Test start Test stop Test duration Num users User/sec
19.4.2013 19.4.2013 sec 7789,00 1000000 128,39 11:53:45 14:03:34 min 129,8166667
Database location mounted as: UUID=616c291a-7fe4-47a1-87d1-c221a8e1c4f8 /opt ext4 noatime,auto 1 2
vm.dirty_ratio = 90 vm.dirty_expire_centisecs = 60000
Scheduler is: [root@spr1 ~]# cat /sys/block/sda/queue/scheduler noop anticipatory deadline [cfq]
memory manager libhoard.so (latest from hoard site)
Database size 36GB
-rw-------. 1 openldap openldap 14471663616 Apr 19 12:01 data.mdb -rw-------. 1 openldap openldap 8192 Apr 19 12:02 lock.mdb
[root@spr1 openldap-data]# du -hs data.mdb 14G data.mdb
This is user data (one user). I can add 128,39 complete users in 1 second.
dn: uid=1,ds=USERS,o=STANDARD,dc=SPR objectClass: sprUser uid: 1
dn: subdata=userData,uid=1,ds=USERS,o=STANDARD,dc=SPR roamingAllowed: TRUE objectClass: sprUserData subdata: userData prepaidFlag: TRUE sn: TestProv pfUsername: user1 givenName: pcrfUser loginPassword: 123 pfPassword: 123
dn: subdata=applicationData,uid=1,ds=USERS,o=STANDARD,dc=SPR objectClass: sprUserData subdata: applicationData
dn: ds=aaa,subdata=applicationData,uid=1,ds=USERS,o=STANDARD,dc=SPR objectClass: sprDs ds: aaa
dn: ds=2g3g,ds=aaa,subdata=applicationData,uid=1,ds=USERS,o=STANDARD,dc=SPR objectClass: sprDs ds: 2g3g
dn: ds=pcrf,ds=aaa,subdata=applicationData,uid=1,ds=USERS,o=STANDARD,dc=SPR objectClass: sprDs ds: pcrf
dn: subdata=2g3gProf,ds=2g3g,ds=aaa,subdata=applicationData,uid=1,ds=USERS,o=STA NDARD,dc=SPR service2g3g: defaultService profile2g3g: profile1 productCode2g3g: prodCode barringStatus2g3g: barringStatus objectClass: spr2g3gUser uniqueId2g3g: user1 apnGroup2g3g: apnGG provider2g3g: memyselveandi framedIPAddress2g3g: 1.1.1.1 accountGroup2g3g: acctGroup subdata: 2g3gProf msisdn: 1234560001 flagStatus2g3g: flagStatus class2g3g: classs type2g3g: type creationDate2g3g: 01.10.2010. classification2g3g: 111 poolGroup2g3g: poolGroup status2g3g: ACTIVE
dn: subdata=pcrfProf,ds=pcrf,ds=aaa,subdata=applicationData,uid=1,ds=USERS,o=STA NDARD,dc=SPR profile: 3100 totalUsedVolume: 3 msisdn: 1234560001 objectClass: sprPcrfProf totalMaximumVolume: 5 imsi: 1991234560001 subdata: pcrfProf subscriberServiceProfile: TM00003100 featureList: Faeture1 paymentTypexy: NeverPaid pfUsername: user1 tariffId: 1 pcrfServiceId: 3100
dn: pfUsername=user1,dc=USERNAME,dc=SPR objectClass: alias objectClass: extensibleObject pfUsername: user1 aliasedObjectName: uid=1,ds=USERS,o=STANDARD,dc=spr
dn: msisdn=1234560001,dc=MSISDN,dc=SPR objectClass: alias objectClass: extensibleObject msisdn: 1234560001 aliasedObjectName: uid=1,ds=USERS,o=STANDARD,dc=spr
dn: imsi=1991234560001,dc=IMSI,dc=SPR objectClass: alias objectClass: extensibleObject aliasedObjectName: uid=1,ds=USERS,o=STANDARD,dc=spr imsi: 1991234560001
On Fri, Apr 19, 2013 at 1:54 PM, Nick Milas nick@eurobjects.com wrote:
On 19/4/2013 2:00 μμ, Chris Card wrote:
I tried reducing the maxsize, but it made no difference to the
performance. So I'm still at the point where writes to BDB are roughly 4 times faster than writes to MDB. Any more suggestions?
Could it be possibly related to the OS / filesystem used? Please provide details. System IO load?
Is OpenLDAP compiled by you or you are using a standard package? Which?
(I am not an expert on this, just trying to possibly consider other factors.)
Nick