Cuhulain has asked for the wisdom of the Perl Monks concerning the following question:
I have Perl 5.10 programs on Solaris 10 that use Net::LDAP to:
The mean time for the DSA to service each LDAP update is 51 miliseconds.
The mean time for my Perl program (LDAP client) to prepare the next LDAP update request is 13 milliseconds.
The resulting round time per update is 64 milliseconds, giving about 15 updates per second. I have tuned the DSA to about its optimal performance, according to the vendor. So I cannot reduce that 51 ms time per LDAP update by the server. However, I run the X.500 DSA as one parent process that spawns 10 children. So I am considering forking my LDAP client Perl program to split the possibly thousands of updates into up to 10 batches to be processed in parallel. Thus I hope to finish all updates in one tenth of the current time.
Can Monks kindly advise whether Net::LDAP provides any built-in support for multi-threading? Or should I somehow fork off 10 child processes and assume that each may bind to a different child LDAP server?
I'd welcome advice on either approach.
My first edition of Perl Cookbook has recipies in Chapter 17 Sockets on:
Should I adapt these Socket examples to LDAP, or should I look to more recent books/editions for improvement in threading support in Perl? I have subscribed to the Sourceforge LDAP mailing list, but its archives seem to be heavily spammed - I cannot get anything useful from the list archives.
Thank-you for any guidance you can offer.
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Multi-threading Net::LDAP
by Eliya (Vicar) on Feb 15, 2012 at 10:12 UTC | |
|
Re: Multi-threading Net::LDAP
by locked_user sundialsvc4 (Abbot) on Feb 15, 2012 at 14:55 UTC |