[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: Load testing bind performance
- To: openldap-technical@openldap.org
- Subject: Re: Load testing bind performance
- From: MJ J <mikedotjackson@gmail.com>
- Date: Thu, 2 Nov 2017 09:35:29 +0200
- Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :content-transfer-encoding; bh=aLA2oc9zMr92NMJwkq7G3tGjdPyw7NlINw1DER1noPs=; b=Hg0yCRW9GiYMJ3dYTvqrDrdiSJqes09LvJJxEb9QU0ZtQB+b71kfVAPcwW2QD5J98g vocpVJWnDdVLlFNE763Eq0Z8m57oGu8nR25NWKnHQIGG3jdmJDOzHww2mnTceeWO6sNq au0WCxNXZodP3Wcnak7jXGJEUG+VMS8ArwXxEns1b76ZsQ+KUFriEjwImyb+vXfvjj0l 45fG6eqmrOoBemgr0JU1mxZ8g7VTKuyYqLzpVAVLmkv0xDXNg2kq9vcA5xtW5lmri9P+ DZdDBHlkir3bhXvJOUDWen0KPOk1IbACIbN//OW275eLEP/X6lRjUMNQLteCv8Seuof9 5yeA==
- In-reply-to: <70ce731a-7620-a093-c250-15761be85d34@stroeder.com>
- References: <CAPkXO3Upv=L+fmYtgMi5sz+HF3jyBvS5236JkRycKxHNkshd3A@mail.gmail.com> <70ce731a-7620-a093-c250-15761be85d34@stroeder.com>
Use ldclt from 389 project.
#!/bin/sh
ldclt \
-h localhost \
-a 1000 \
-p 389 \
-e bindeach,bindonly \
-D "uid=testXXXXXXXX,ou=people,dc=foo,dc=bar" \
-w foobar123 \
-e randombinddn,randombinddnlow=50000000,randombinddnhigh=51000000 \
-n 48
This is by far the simplest and highest performance load testing
client. With the above test, I managed to achieve 14,400 binds per
second. With two instances of the above test running simultaneously, I
managed to achieve 12,000 binds per second for each instance -> 24,000
binds per second with OpenLDAP 2.4.44 and 2.4.45 both compiled from
source.
On Wed, Nov 1, 2017 at 9:33 PM, Michael Ströder <michael@stroeder.com> wrote:
> Tim wrote:
>> I've used the python-ldap library to simulate other varieties of
>> interactions successfully, but when it comes to binds, each interaction
>> seems to generate a substantial amount of traffic behind the scenes, so
>> suspect that *things* are happening that is artificially limiting the
>> bind rate/s.
>
> python-ldap itself is a pretty thin wrapper on top of libldap.
> Especially if you're using LDAPObject.simple_bind() or
> LDAPObject.simple_bind_s() [1] there is definitely no "traffic behind
> the scenes".
>
> So if you have overhead on the client side I suspect your own Python
> code adds this.
>
> Ciao, Michael.
>
> [1]
> https://www.python-ldap.org/doc/html/ldap.html#ldap.LDAPObject.simple_bind
>