Beefy Boxes and Bandwidth Generously Provided by pair Networks DiBona
We don't bite newbies here... much
 
PerlMonks  

Advice for Benchmarking Servers, in particular using Net::LDAP to Benchmark OpenLDAP Operations

by ghenry (Vicar)
on Mar 06, 2006 at 08:47 UTC ( [id://534680]=perlquestion: print w/replies, xml ) Need Help??

This is an archived low-energy page for bots and other anonmyous visitors. Please sign up if you are a human and want to interact.

ghenry has asked for the wisdom of the Perl Monks concerning the following question:

Dear Master Monks,

Has anyone done any server response benchmarking in general?

I am after some tips to create tests for benchmarking OpenLDAP operations, but any benchmarking advice will be much appreciated.

The sort of things I was going to test are:

  1. Read Benchmark
  2. Read/Modification Benchmark
  3. Modification Benchmark
  4. Adding and Deleting Objects

Thanks,
Gavin.

Walking the road to enlightenment... I found a penguin and a camel on the way.....
Fancy a yourname@perl.me.uk? Just ask!!!
  • Comment on Advice for Benchmarking Servers, in particular using Net::LDAP to Benchmark OpenLDAP Operations

Replies are listed 'Best First'.
Re: Advice for Benchmarking Servers, in particular using Net::LDAP to Benchmark OpenLDAP Operations
by marto (Cardinal) on Mar 06, 2006 at 09:06 UTC

      Oh bugger. Sorry. I searched for OpenLDAP, when I should have been more general. Cheers marto ;-)

      Walking the road to enlightenment... I found a penguin and a camel on the way.....
      Fancy a yourname@perl.me.uk? Just ask!!!
Re: Advice for Benchmarking Servers, in particular using Net::LDAP to Benchmark OpenLDAP Operations
by g0n (Priest) on Mar 06, 2006 at 09:40 UTC
    When I benchmark writes to LDAP servers, I usually use a monitor on a change detection mechanism rather than timing how long the modify/add/delete method in Net::LDAP blocks. That way (hopefully) you get the time before the modification hits the backend database, or something like it.

    IMHO the best way is an asynchronous persistent search, but unfortunately AFAICT OpenLDAP doesn't support the persistent search control (it's alleged to be in recent dev releases, but I've never been able to find it). One way worth trying in OpenLDAP would be to enable replication in slapd.conf, and monitor the changelog file for the change you're after. That approach also adapts easily for benchmarking replication speeds.

    As you probably know, the speed of LDAP operations is very much dependent on (among other things) indices on the attributes involved. For that reason, you should document the attributes you're operating on, all the indices that relate to them, and (if you're using ACIs rather than the slapd.conf object security controls) any ACIs that relate to the operation. You should also document which database backend you're using, since OpenLDAP offers a choice.

    I'd also recommend creating a fairly sizable (and reasonably deep) subtree to base your benchmarking on so that the database backend is being worked.

    Watch out for caching as well - it'd be worth benchmarking 2 searches on the same object in quick succession so that the second time the object is sat in cache rather than having to be pulled in from the database.

    --------------------------------------------------------------

    "If there is such a phenomenon as absolute evil, it consists in treating another human being as a thing."
    John Brunner, "The Shockwave Rider".

    Can you spare 2 minutes to help with my research? If so, please click here

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://534680]
Approved by marto
help
Sections?
Information?
Find Nodes?
Leftovers?
    Notices?
    hippoepoptai's answer Re: how do I set a cookie and redirect was blessed by hippo!
    erzuuliAnonymous Monks are no longer allowed to use Super Search, due to an excessive use of this resource by robots.