mirror of https://github.com/OpenIdentityPlatform/OpenDJ.git

Valera V Harseko
2 days ago ff93f3bf42f4e2ed6e3cd90bb7983e4754e25bae
refs
author Valera V Harseko <vharseko@3a-systems.ru>
Monday, June 22, 2026 12:55 +0200
committer Valera V Harseko <vharseko@3a-systems.ru>
Monday, June 22, 2026 12:55 +0200
commitff93f3bf42f4e2ed6e3cd90bb7983e4754e25bae
tree 297e5c8d8205d2f2260582fdbbc2b3bb745c4a0d tree | zip | gz
parent f69863189e5a3bb0dd3b9ec0a9ef1a4b602a09ea view | diff
Refine LDAP benchmark: READD, SSHA-256 hashing, grouped charts

Five follow-up tweaks to the benchmark workflow and plan.

- Rename the "ADD WITHOUT DELETE" sampler to READD (benchmark.jmx, summary.sh OPS).
- Stop each Docker container right after its own benchmark (new Stop OpenLDAP /
Stop OpenDJ steps) to free resources and keep only one server under load at a
time; the final always() cleanup stays as the failure-path safety net.
- Make both servers hash passwords with the same scheme (SSHA-256), hashed
server-side on write: MODIFY sends the password in cleartext and each server
hashes it. OpenLDAP loads the pw-sha2 and ppolicy modules, sets
olcPasswordHash {SSHA256} and enables the ppolicy hash-cleartext overlay on the
mdb database; OpenDJ sets the Default Password Policy default storage scheme to
Salted SHA-256. Each server hashes/verifies with its own implementation, so
there is no cross-implementation hash-format dependency.
- Charts: render each operation as two adjacent, non-overlapping columns
(OpenLDAP / OpenDJ) in different colors instead of two overlapping series, using
an interleaved x-axis with zero-padded series and an explicit color palette
(Mermaid xychart-beta has no grouped bars).
- Bump actions/cache@v4 -> @v5 and actions/upload-artifact@v4 -> @v7 (latest used
elsewhere in this repo).

Validated locally with JMeter 5.6.3: the plan compiles, statistics.json carries
the READD label with ADMIN_CONNECT filtered out, summary.sh renders the two-column
charts, and actionlint passes.
3 files modified
118 ■■■■ changed files
.github/benchmark/benchmark.jmx 6 ●●●● diff | view | raw | blame | history
.github/benchmark/summary.sh 55 ●●●●● diff | view | raw | blame | history
.github/workflows/benchmark.yml 57 ●●●● diff | view | raw | blame | history