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

Re: openldap bench / stress free tools



Quanah Gibson-Mount wrote:



--On Monday, March 06, 2006 6:30 PM +0100 Jehan PROCACCIA <Jehan.Procaccia@int-evry.fr> wrote:

hello,
some users complain that my openldap server is "slow", when using outlook
clients in the address book , it apparently often happens that it times
out on openldap searchs so then it goes to the AD addressbook :-( .
Is there a free and simple tools to check the performances of my openldap
servers ?
I use a very rudimentary bench with time and ldapsearch but is there a
better solution , avoiding cache for example ?


The problem is likely due to a lack of proper indexing. Have you looked at the search filters that outlook uses, and ensured that your system is properly indexed?

Apparently outlook searchs for mail,cn,sn,givenName,displayName and I don't have index on displayName !:
index cn,mail,surname,givenname eq,subinitial


I will add that one ... but I'am wondering why openldap seems to repond in 2 times, I mean in the logs (reproducted at the end of that mail) it show 1st op=1 SEARCH RESULT tag=101 err=0 nentries=50 and an other (2nd) op=2 SEARCH RESULT tag=101 err=0 nentries=50 text=
It it the usual way openldap reponds ?, it cuts results in chunks of 50 entries (here an ldapsearch on my directory with the filter on "la* "gives # numEntries: 124)


About benchs, I've look rapidely through slamd, altough apparently a very powerfull utility it will take some time for me to make in run, I will probably when I'll get some time... , but for now I just timed ldapsearch and I've seen lot's of performances disparities between my replicas , from 1m10s to less than 1s on a search on cn=* -> 3715 entries .

$ time ldapsearch -x cn=* -h openldap -b dc=int-evry,dc=fr > /dev/null
real    1m10.303s
user    0m0.424s
sys     0m0.160s

$ time ldapsearch -x cn=* -h ldap1 -b dc=int-evry,dc=fr > /dev/null
real    0m0.709s
user    0m0.500s
sys     0m0.168s

$ time ldapsearch -x cn=* -h ldap2 -b dc=int-evry,dc=fr > /dev/null
real    0m25.819s
user    0m0.452s
sys     0m0.184s

Maybe it's not the best bench I can do , but it clearly shows what I was looking for , I will redirect all outlook clients on my ldap1 replica !.
an other issue to check :
http://support.microsoft.com/default.aspx?scid=kb;en-us;555536&sd=rss&spid=2559



Outlook logs:

Mar 8 10:11:09 calaz slapd[4639]: conn=1 fd=10 ACCEPT from IP=157.159.21.50:1492 (IP=0.0.0.0:389)
Mar 8 10:11:09 calaz slapd[4639]: conn=1 op=0 BIND dn="" method=128
Mar 8 10:11:09 calaz slapd[4639]: conn=1 op=0 RESULT tag=97 err=0 text=
Mar 8 10:11:09 calaz slapd[4639]: conn=1 op=1 SRCH base="ou=people,dc=int-evry,dc=fr" scope=2 deref=3 filter="(&(mail=*)(|(mail=la*)(cn=la*)(sn=la*)(givenName=la*)(displayName=la*)))"
Mar 8 10:11:09 calaz slapd[4639]: conn=1 op=1 SRCH attr=cn commonName mail roleOccupant display-name displayname sn surname co organizationName o givenName legacyExchangeDN objectClass uid mailNickname title company physicalDeliveryOfficeName telephoneNumber
Mar 8 10:11:09 calaz slapd[4639]: <= bdb_substring_candidates: (displayName) index_param failed (18)
Mar 8 10:11:10 calaz slapd[4639]: conn=1 op=1 SEARCH RESULT tag=101 err=0 nentries=50 text=
Mar 8 10:11:10 calaz slapd[4639]: conn=1 op=2 SRCH base="ou=people,dc=int-evry,dc=fr" scope=2 deref=3 filter="(&(mail=*)(|(mail=la*)(cn=la*)(sn=la*)(givenName=la*)(displayName=la*)))"
Mar 8 10:11:10 calaz slapd[4639]: conn=1 op=2 SRCH attr=cn commonName mail roleOccupant display-name displayname sn surname co organizationName o givenName legacyExchangeDN objectClass uid mailNickname title company physicalDeliveryOfficeName telephoneNumber
Mar 8 10:11:10 calaz slapd[4639]: <= bdb_substring_candidates: (displayName) index_param failed (18)
Mar 8 10:11:10 calaz slapd[4639]: conn=1 op=2 SEARCH RESULT tag=101 err=0 nentries=50 text=
Mar 8 10:11:10 calaz slapd[4639]: conn=1 op=3 SRCH base="ou=people,dc=int-evry,dc=fr" scope=2 deref=3 filter="(&(mail=*)(|(mail=la*)(cn=la*)(sn=la*)(givenName=la*)(displayName=la*)))"
Mar 8 10:11:10 calaz slapd[4639]: conn=1 op=3 SRCH attr=cn commonName mail roleOccupant display-name displayname sn surname co organizationName o givenName legacyExchangeDN objectClass uid mailNickname title company physicalDeliveryOfficeName telephoneNumber
Mar 8 10:11:10 calaz slapd[4639]: <= bdb_substring_candidates: (displayName) index_param failed (18)
Mar 8 10:11:11 calaz slapd[4639]: conn=1 op=3 SEARCH RESULT tag=101 err=0 nentries=19 text=
Mar 8 10:11:11 calaz slapd[4639]: conn=1 op=4 UNBIND
Mar 8 10:11:11 calaz slapd[4639]: conn=1 fd=10 closed





--Quanah

--
Quanah Gibson-Mount
Principal Software Developer
ITS/Shared Application Services
Stanford University
GnuPG Public Key: http://www.stanford.edu/~quanah/pgp.html