chore(perf): cperf regression harness + scale-validate rig + capacity docs (6/6)#1335
Open
yyyyaaa wants to merge 1 commit into
Open
chore(perf): cperf regression harness + scale-validate rig + capacity docs (6/6)#1335yyyyaaa wants to merge 1 commit into
yyyyaaa wants to merge 1 commit into
Conversation
… docs Tooling + documentation only — zero runtime code changes. This is the apparatus that produced every number cited in this stack, landed so the results are reproducible and regressions are catchable. packages/perf-harness (cperf): - Reusable perf/regression CLI: fleet provision/teardown (tenant factories, canary seeding, drift detection), load harness (authenticated zipf traffic, churn driver), measurement (per-instance retained heap via heap snapshots, PG-side sampler, JSON-line collector), regression suites with baselines + compare, ramp/soak/soakOps runners, capacity prediction from the sizing model. 21 jest suites over the pure logic (histograms, RNG, fleetfiles, merge/summarize, scenario matrices). scripts/scale-validate: - The V1-V4 validation rig used for #1325: plans, drivers, samplers, summarizers. Kept as scripts (not a package) — they orchestrate a live fleet against a dedicated PG and document the exact invocations used. - SIZING.md: catalog-driven capacity model — the heap-aware instance budget, the R(H) law with worked examples, shard guidance, and the measured constants (filtered instance ~15MB, unfiltered ~1.3GB at 61k pg_class). - VALIDATION-REPORT.md / V2-RESULTS.md: findings ledger V1-V4 — every crash, root cause, fix, and the final verdicts (47-tenant headline run; churn storm; 24h-soak OOM root cause; heap floor 1024MB guidance). .gitignore: rig output artifacts (fleet manifests, metrics.jsonl, perf-out). Extracted from #1325 (commits 2eeaefb, f138573, e545965, 143f479, 8eec3cd, aeb8c35, acc035c, f95d59f and the rig fix-ups). Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_0122xqM2VkNbuAmZshK1YNSb
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
PR 6/6 of the #1325 split. Tooling and documentation only — zero runtime code. This is the apparatus that produced every number cited in PRs 2–5, landed so the results are reproducible and future regressions are catchable. Large by line count (~14k), but inert: a new never-imported workspace package, standalone scripts, and markdown.
packages/perf-harness(cperf)Reusable perf/regression CLI:
21 jest suites / 199 tests over the pure logic (histograms, seeded RNG, fleetfiles, merge/summarize, scenario shapes, SQL builders).
Related: #1304 carries shape-variant perf scenarios under
graphql/server-test/perf/that are worth harvesting into cperf so we maintain one harness (proposed on that thread).scripts/scale-validateThe V1–V4 validation rig used for #1325: plans, drivers, samplers, summarizers. Kept as scripts rather than a package on purpose — they orchestrate a live fleet against a dedicated PG and document the exact invocations used. Credentials are env-only (
PERF_PASSWORD); rig output artifacts are gitignored.SIZING.md— the catalog-driven capacity model: heap-aware instance budget, theR(H)law with worked examples, the measured constants (filtered instance ~15MB vs unfiltered ~1.3GB at 61kpg_class), heap floor 1024MB guidance, and shard math.VALIDATION-REPORT.md/V2-RESULTS.md— the findings ledger: every crash, its root cause, the fix, and the verdicts (47-tenant headline run, eviction-churn storm, the 24h-soak OOM root cause, governor reachability).Testing
packages/perf-harness199/199 (21 suites) · full monorepo root build green at this tip.Stack
Stacked on #1334 (
feat/scale-s5-pooling-integration); merge last. Full stack map in #1330. Extracted from #1325 (kept open as the validated reference).🤖 Generated with Claude Code
https://claude.ai/code/session_0122xqM2VkNbuAmZshK1YNSb