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

Re: Load testing bind performance



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
>