[python-ldap] ldap.OPT_DESC, async ops and paged search controls

Mark R Bannister mark at proseconsulting.co.uk
Tue Jan 27 23:18:52 CET 2015


On 27/01/2015 21:56, Michael Ströder wrote:
> Mark R Bannister wrote:
>> So if I have just one thread reading results and dispatching results, I have a
>> bottleneck don't I?  If that thread is busy reading a large result set for one
>> request, and there is also a large amount of data waiting for another ten
>> separate requests, there will be a delay in processing the others.  Whereas if
>> I have ten separate workers reading their own data, I am spreading the load
>> and improving the performance.  It is a more scalable solution with
>> performance that is directly proportional to the number of requests, not
>> exponential.
> After all your LDAP server will be also limited, especially when you really
> want to enumerate all objects in your maps.
>
> If enumeration is really crucial in your environment, then consider
> maintaining a local maps cache database. With this you can query the LDAP
> server with syncrepl or (modifyTimestamp=>) to keep LDAP result sets small
> during normal update operation. sssd is doing a lot like this. But it's
> complex and error-prone.
>
> Personally I don't think that enumeration is really needed. BTDT, but YMMV
> since the OS platforms out there are quite different.
>
> Ciao, Michael.
>
Enumeration is not that important here, but it may be somewhere else, 
which is why I did want to limit the design with unnecessary bottlenecks.

Best regards,
Mark.


More information about the python-ldap mailing list