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.
Regression gate
Section titled “Regression gate”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).