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

OpenLDAP performance vs. PostgreSQL


An often heard argument for LDAP is that it is optimized for many reads
and only a few writes. ... And it seems intuitively reasonable that it
should be faster than an RDBMS for such applications.

Now... I have a lot of configuration data for many users, which I need
to query very often and write very seldom. There's not many relational
contraints in it, so I figured OpenLDAP would be better than PostgreSQL.

But a quick test using Perl DBD::Pg and Net::LDAP shows me that this
might not be the case. In short I tried to:
1 Insert 20000 simple objects with index on PK/DN
2 Query 20000 objects on the indexed attribute
3 Query 10000 objects on a non-indexed attribute

The results was (in seconds):

PostgreSQL (7.4.7):

1: 20
2: 10
3: 150

OpenLDAP (2.2.23) (BDB-backend):

1: 185
2: 49
3:  -

I didn't bother wait for the last run. ... I was probably way over 1000.
Now it didn't surprise me that LDAP was slower for inserts, but it did
surprise me that it was 5 times slower for lookups on an indexed attribute.

Is this expected behaviour, or should I start looking for som stupid
mistake in my test?

Peter Mogensen

PS: All request were over TCP and all return-data was just discarded...