OpenDJ vs OpenLDAP - OpenIdentityPlatform/OpenDJ GitHub Wiki
๐ฌ Benchmark: OpenLDAP vs OpenDJ
Reference links:
[!NOTE] you need to be signed in to GitHub
Versions
| Server | Version | Image |
|---|---|---|
| OpenLDAP | @(#) $OpenLDAP: slapd 2.6.10+dfsg-1 (May 29 2025 23:41:48) $ |
vegardit/openldap:latest |
| OpenDJ | 5.1.2.0802aa4081e1c175c40bde1af59439a20fcc5670 |
openidentityplatform/opendj:latest |
Totals (all operations, ADMIN_CONNECT excluded by the plan label)
| Server | Throughput (tests/s) | Mean (ms) | Samples | Errors |
|---|---|---|---|---|
| OpenLDAP | 1183.2 | 168.7 | 354870 | 0 |
| OpenDJ | 3124.3 | 63.7 | 940370 | 0 |
Per-operation latency
| Operation | mean ms OpenLDAP | mean ms OpenDJ | p99 ms OpenLDAP | p99 ms OpenDJ | err OpenLDAP | err OpenDJ |
|---|---|---|---|---|---|---|
| ADD | 52 | 62.6 | 350 | 132 | 0 | 0 |
| SEARCH | 20.5 | 55.4 | 259 | 123 | 0 | 0 |
| COMPARE | 12.1 | 53.8 | 105 | 121 | 0 | 0 |
| MODIFY | 33.2 | 54.5 | 129 | 122 | 0 | 0 |
| BIND | 973.6 | 86.1 | 1144 | 219 | 0 | 0 |
| DELETE | 37.9 | 65.9 | 254 | 141 | 0 | 0 |
| READD | 51.1 | 67.7 | 353 | 138 | 0 | 0 |
Total throughput (tests/s, higher is better)
Per-operation throughput is not charted: every op runs once per loop iteration, so each op's throughput just equals the loop rate. The meaningful throughput is the aggregate.
p99 latency per operation (ms, lower is better)
๐ฆ OpenLDAP ยท ๐ง OpenDJ โ grouped bars per operation.
Notes
BINDis the measured user authentication (test=sbind, single bind/unbind on its own connection) asmail=u_<n>,ou=Peoplewith the password set byMODIFY. The admin connection bind (ADMIN_CONNECT) is cached once per thread and excluded from these results.MODIFYsends the password in cleartext; each server hashes it on write with the same scheme ({SSHA}, Salted SHA-1) โ OpenLDAP via the ppolicy hash-cleartext overlay, OpenDJ via its Salted SHA-1 default scheme โ soBINDauthentication is compared on equal footing.- Full interactive JMeter HTML dashboards are attached as the
jmeter-reportsartifact.