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

Re: OpenLDAP performance vs. PostgreSQL

> set_cachesize   0       52428800        0

This is likely not enough cache.  Are you seeing any IO at all?  (You 
shouldn't be.)  Make sure you've turned off logging in slapd.conf unless you 
really want it.  (Big impact on performance.)

> The slapd.conf has (apart from acls and module load):

Check the cachesize and idlcachesize options.  You should be able to have 
"cachesize 20000" to hold the entire DB in memory.

> for (my $i = 1; $i<=20000; $i++) {
>     $mesg = $ldap->search(
>                            base   => "dc=nodomain",
>                            filter => "(cn=$i)"
>                            );
>     $mesg->code && die $mesg->error;
> }

Here's a problem: You've got $mesg defined INSIDE your for() loop, meaning you 
incur object creation overhead on each iteration.  Because the search is 
performed instantly, i.e., you can't define $mesg once and reuse it 20k times 
(as you can with DBD::Pg), I don't think this test is going to be an 
effective measure of OpenLDAP's performance.  Howard suggested other 
libraries -- perhaps they provide "prepare" and "execute" methods separately?


John Madden
Sr. UNIX Systems Engineer
Ivy Tech Community College of Indiana