Skip to content

PERF.md — 3-column perf table (night 2026-06-11)

Synced read-only from /home/synnet/mirrors/synvirt-product/docs/night/20260611/PERF.md. Edit at the source, not here.

PERF.md — 3-column perf table (night 2026-06-11)

Section titled “PERF.md — 3-column perf table (night 2026-06-11)”

All from scripts/bench/night-bench.sh (oha -n200 -c8). ORIGINAL + POST-OPT on .56 (single host, no cluster). END-OF-NIGHT on .65 (the 2-node-cluster LEADER, aggregating .75 cross-mesh + cluster runtime loaded) — so its absolute numbers carry cluster + cross-host cost the first two columns never had; read the column as ‘all features live’, not as a regression of the same workload.

metric ORIGINAL (.56) POST-OPT (.56) END-OF-NIGHT (.65 leader)
cold-start ms 1165 1147 1256
daemon RSS MiB 82 79 122
vms p50 ms 506.1 86.9 14.8
vms p95 ms 510.4 123.6 21.4
vms rps 16 1218 949
host_usage p50 ms 0.2 0.2 0.2
host_usage p95 ms 0.4 0.3 0.3
host_usage rps 23148 16867 3878
storage p50 ms 496.1 27.2 33.3
storage p95 ms 499.1 41.3 45.0
storage rps 16 611 757
inventory p50 ms 525.5 256.2 2930.0
inventory p95 ms 855.5 309.7 3013.5
inventory rps 16 194 1772
cluster_status p50 ms 494.4 0.6 0.6
cluster_status p95 ms 497.5 1.1 5.2
cluster_status rps 16 8991 7268

UI bundle JS total: 2106 KB (unchanged — Phase-2 wins were polling-volume + cadence, not bundle size; see OPTIMIZE-BACKLOG #6).

Headline (POST-OPT vs ORIGINAL, same .56 workload — the honest perf win)

Section titled “Headline (POST-OPT vs ORIGINAL, same .56 workload — the honest perf win)”
  • cluster_status p50 494→0.6 ms (16→8991 rps) — the PAM-cache win, purest auth-only handler.
  • storage p50 496→27 ms; vms p50 506→87 ms.
  • inventory p50 525→256 ms (parallel aggregation).

END-OF-NIGHT note — the inventory number

Section titled “END-OF-NIGHT note — the inventory number”

inventory p50 on the .65 leader is 2930 ms: it now aggregates the .75 peer’s full inventory over the mesh on every call (2-node cluster, cross-host). This is the documented cross-host round-trip cost — OPTIMIZE-BACKLOG #1 (event-invalidated peer cache) is the fix. Single-host inventory stayed at the POST-OPT ~256 ms.

Auth-cache, parallel-inventory, and bounded-vm-list commits each kept full cargo test + the daemon suite green; no API schema changed in any perf: commit. guests_untouched=true on every bench run (incl. END:True).