From 736c83dc1c71b19abc0554b7df10ec0dc117cc84 Mon Sep 17 00:00:00 2001
From: Valera V Harseko <vharseko@3a-systems.ru>
Date: Mon, 22 Jun 2026 13:59:33 +0000
Subject: [PATCH] Benchmark: 200 threads default, p99 latency chart (linear)

---
 .github/benchmark/summary.sh    |    9 ++++-----
 .github/benchmark/benchmark.jmx |    2 +-
 .github/workflows/benchmark.yml |    4 ++--
 3 files changed, 7 insertions(+), 8 deletions(-)

diff --git a/.github/benchmark/benchmark.jmx b/.github/benchmark/benchmark.jmx
index 4abe3c1..7fcd0a7 100644
--- a/.github/benchmark/benchmark.jmx
+++ b/.github/benchmark/benchmark.jmx
@@ -33,7 +33,7 @@
           <boolProp name="LoopController.continue_forever">false</boolProp>
           <stringProp name="LoopController.loops">-1</stringProp>
         </elementProp>
-        <stringProp name="ThreadGroup.num_threads">${__P(threads,128)}</stringProp>
+        <stringProp name="ThreadGroup.num_threads">${__P(threads,200)}</stringProp>
         <stringProp name="ThreadGroup.ramp_time">${__P(rampup,0)}</stringProp>
         <boolProp name="ThreadGroup.scheduler">true</boolProp>
         <stringProp name="ThreadGroup.duration">${__P(duration,300)}</stringProp>
diff --git a/.github/benchmark/summary.sh b/.github/benchmark/summary.sh
index 6d233b5..dbc29a9 100644
--- a/.github/benchmark/summary.sh
+++ b/.github/benchmark/summary.sh
@@ -115,13 +115,12 @@
 echo ""
 
 # ---------------------------------------------------------------- Latency chart (grouped bars)
-echo "### Mean latency per operation (ms, log scale โ€” lower is better)"
+echo "### p99 latency per operation (ms, lower is better)"
 echo ""
-echo "_๐ŸŸฆ OpenLDAP ยท ๐ŸŸง OpenDJ โ€” grouped bars per operation. Y axis is logarithmic so the small"
-echo "values stay visible next to the large ones._"
+echo "_๐ŸŸฆ OpenLDAP ยท ๐ŸŸง OpenDJ โ€” grouped bars per operation._"
 echo ""
-LAT_CFG="{\"type\":\"bar\",\"data\":{\"labels\":$(labels_json),\"datasets\":[{\"label\":\"OpenLDAP\",\"backgroundColor\":\"$OL_COLOR\",\"data\":[$(vals m "$OL_JSON" meanResTime)]},{\"label\":\"OpenDJ\",\"backgroundColor\":\"$DJ_COLOR\",\"data\":[$(vals m "$DJ_JSON" meanResTime)]}]},\"options\":{\"title\":{\"display\":true,\"text\":\"Mean latency per operation (ms, log scale)\"},\"scales\":{\"yAxes\":[{\"type\":\"logarithmic\"}]}}}"
-echo "![Mean latency per operation (ms)]($(qc 900 400 "$LAT_CFG"))"
+LAT_CFG="{\"type\":\"bar\",\"data\":{\"labels\":$(labels_json),\"datasets\":[{\"label\":\"OpenLDAP\",\"backgroundColor\":\"$OL_COLOR\",\"data\":[$(vals mi "$OL_JSON" pct3ResTime)]},{\"label\":\"OpenDJ\",\"backgroundColor\":\"$DJ_COLOR\",\"data\":[$(vals mi "$DJ_JSON" pct3ResTime)]}]},\"options\":{\"title\":{\"display\":true,\"text\":\"p99 latency per operation (ms)\"}}}"
+echo "![p99 latency per operation (ms)]($(qc 900 400 "$LAT_CFG"))"
 echo ""
 
 # ---------------------------------------------------------------- Caveats
diff --git a/.github/workflows/benchmark.yml b/.github/workflows/benchmark.yml
index 9c28571..37899ec 100644
--- a/.github/workflows/benchmark.yml
+++ b/.github/workflows/benchmark.yml
@@ -31,7 +31,7 @@
         default: "openidentityplatform/opendj:latest"
       threads:
         description: "Concurrent JMeter threads"
-        default: "128"
+        default: "200"
       duration:
         description: "Test duration per server (seconds)"
         default: "300"
@@ -65,7 +65,7 @@
       # `${{ inputs.X || 'default' }}` so workflow_run (which carries no inputs) falls back.
       OPENLDAP_IMAGE: ${{ inputs.openldap_image || 'osixia/openldap:latest' }}
       OPENDJ_IMAGE: ${{ inputs.opendj_image || 'openidentityplatform/opendj:latest' }}
-      THREADS: ${{ inputs.threads || '128' }}
+      THREADS: ${{ inputs.threads || '200' }}
       DURATION: ${{ inputs.duration || '300' }}
       RAMPUP: ${{ inputs.rampup || '0' }}
       JMETER: ${{ inputs.jmeter_version || '5.6.3' }}

--
Gitblit v1.10.0