Hello, I am using the iPlanet LDAP SDK for C (version 4.14) to perform simple binds to LDAP directories. I have been experiencing performance problems with the ldap_bind_s call. My test involves hitting an .asp page that calls into a compiled COM component, which issues a simple bind. The test peaks at about 8 binds/second, then drops dramatically to .5 binds/second, the CPU goes to 100%, and the system virtually stops responding. If I comment out the ldap_bind_s call, performance is spectacular.
I timed the ldap_bind_s call, and while under light load it takes only 15-30 ms per bind, but under heavy load it takes more than 120000 ms. Since my web server is configured to have a maximum of 25 ASP threads, there are never more than 25 LDAP connections and bind requests sent from the web server to the LDAP directory at a given time, so it doesn't seem like the binds should be taking more than two minutes. I replaced the iPlanet SDK with Microsoft's LDAP SDK, and performance is much better: peaks at ~15 binds/second, plateaus at 14 bind/second under heavy load. So I am thinking that this may be some sort of bug in the iPlanet LDAP SDK that I am using. Background info on my test environment: My web server is IIS 5.0 (Windows 2000), and I am binding to iPlanet Directory Server 4.15. The web server is a 1 CPU machine. Somewhat oddly, the problem is far less pronounced on 2-way and 4-way web servers -- they never drop to the crawl of .5 binds/second, although performance is of course somewhat worse under load; I'm used to contention bugs being more pronounced on multi-CPU machines, so I'm having trouble categorizing this bug. I have stripped down my test code to a plain and simple LDAP bind procedure: ldap_init, ldap_set_option (to set LDAP version to 3), ldap_bind_s, ldap_unbind. Performance counters on the LDAP directory show very little load, and there is plenty of network bandwidth available between the web server and the LDAP directory. Does anyone have any ideas on what could be causing this problem? Am I missing some sort of configuration settings? Thanks so much for your help, -Bridget Frey
