|
From: jacob m. <mar...@gm...> - 2005-07-27 22:12:21
|
I have a small script using python-ldap in python-2.3 and it takes
about 3.5 seconds to perform a simple bind to our server. I can
perform a complete search from the command line with ldapsearch in
about 0.02 sec.
I've appended the code & timing output. Am I missing something here?
Thanks!
-Jacob
$ time ldapsearch -x -h host -D "cn=3DJones\, Bob,cn=3DUsers,dc=3Ddom,dc=3D=
com" \
> -w pass -b "cn=3Dusers,dc=3Ddom,dc=3Dcom" "sAMAccountName=3Dacct" mail
# extended LDIF
#
# LDAPv3
<snip>
# search result
search: 2
result: 0 Success
# numResponses: 2
# numEntries: 1
real 0m0.024s
user 0m0.003s
sys 0m0.006s
$ cat ldaptest.py
#!/usr/bin/python
import ldap
import profile
import time
from pprint import pprint
def ldapsearch():
passwd=3D'adsf'
t0 =3D time.time()
l =3D ldap.initialize("ldap://server:389")
t1 =3D time.time()
print 'ldap.initialize() ' + str(t1 - t0)
t0 =3D time.time()
l.bind(who=3D"cn=3DJones\,
Bob,cn=3DUsers,dc=3Ddom,dc=3Dcom",cred=3Dpasswd,method=3Dldap.AUTH_SIMPLE)
t1 =3D time.time()
print 'l.bind() ' + str(t1 - t0)
t0 =3D time.time()
msgid =3D
l.search(base=3D"cn=3Dusers,dc=3Ddom,dc=3Dcom",scope=3Dldap.SCOPE_SUBTREE,f=
ilterstr=3D"sAMAccountName=3Dacct",attrlist=3D['mail'])
t1 =3D time.time()
print 'l.search() ' + str(t1 - t0)
t0 =3D time.time()
res =3D l.result(msgid)
t1 =3D time.time()
print 'l.result() ' + str(t1 - t0)
if __name__ =3D=3D '__main__':
ldapsearch()
which produces:
$ time ./ldaptest.py
ldap.initialize() 0.00811719894409
l.bind() 3.45404982567
l.search() 0.00253987312317
l.result() 0.00940012931824
real 0m3.557s
user 0m0.030s
sys 0m0.070s
|