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

Re: poor performance of OpenLDAP vs AD?

Tomasz Chmielewski wrote:
 Howard Chu schrieb:
> Quanah Gibson-Mount wrote:
>> --On Wednesday, July 13, 2005 2:49 PM +0200 Tomasz Chmielewski
>> <mangoo@interia.pl> wrote:
>>> Recently, when planning to deploy a directory server, I was
>>> confronted with someone claiming that OpenLDAP performs poorly,
>>>  when compared to Active Directory, and thus, we should choose
>>> AD.
> And I bet they also said that running Microsoft products has a
> lower Total Cost of Ownership than anything else too.

 Yeah it's some of the guys that believe in all that.

 But as I'm able to dismiss all his claims, with all I can't.

 AD works in a multi-master environment, OpenLDAP doesn't.

 We don't really need a multi-master environment, but can a claim that
 a multimaster environment is much more superior over master-slaves
 model in terms of preformance - can this claim be true?

Pure nonsense, just like the TCO claims.

 As I studied the multimaster AD replication a bit:


 and for me, it seems that it can be more efficient, as it would need
 at least one connection less.

It requires one less connection when clients send updates to a slave server, and only in the simplest configuration*. If clients are already configured to send updates only to the master, then the number of connections required is the same as the multimaster case. Also, additional overhead of one connection is trivial as the number of servers increases. In efficiency terms, O(n) = O(n+1) - there is really no efficiency advantage for multimaster, when all else is equal.

 On the other hand, there seems to be
 much overhead concerned with additional data that goes around to keep
 this multimaster state in sync.

And here is where the argument really falls down - all else is Not equal, their replication protocol requires a huge amount of metadata to maintain synchronization for each update.

* here's a single-master alternative that requires the exact same number of connections as multi-master:
Clients can send updates to any server; if a slave receives an update request it chains to the master. When the chained request succeeds on the master, the slave updates its own database and returns the success status to the client. The master then propagates the change to any slaves other than the one that originated the request. It's quite easy to write an overlay for OpenLDAP 2.2 or 2.3 to provide this mode of operation. The efficiency of this approach is far greater than the MSAD replication protocol, as there is no extra metadata involved.
-- Howard Chu
Chief Architect, Symas Corp. Director, Highland Sun
http://www.symas.com http://highlandsun.com/hyc
Symas: Premier OpenSource Development and Support