OpenLDAP MDB vs HDB performance
|This article applies to the following ZCS versions.|
Zimbra OpenLDAP Server
Performance differences between the mdb and hdb backends for OpenLDAP
Using real-world client data, I've compiled some brief performance differences between using the mdb and hdb backends to OpenLDAP with Zimbra. This particular client has 25,208 entries in their LDAP database. I dumped their accesslog and converted it to LDIF to give me a full weeks worth of real change data, and then ran that back against the database. This results in approximately 28,000 modifications performed against the DB.
This is the amount of time to load the database using slapadd -q
mdb: 0m11.237s hdb: 0m38.727s
Advantage: MDB. It is 3.45 times faster loading the data than hdb.
Size of database on disk after slapadd completes. For hdb, this includes the hdb cache as well as db size. mdb has no cache.
mdb: 296MB hdb: 627MB
Advantage: MDB. It is 2.11 times smaller than the hdb database.
This is the time to search the entire db via slapadd. Note that with hdb, since it has to preload the cache, two times are given. cold (Cache not loaded) and hot (cache loaded). mdb never needs to preload the cache.
mdb: 0m1.435s hdb cold: 0m5.304s hdb hot: 0m3.103s