-
Notifications
You must be signed in to change notification settings - Fork 0
15.3 — Publish memory-per-target numbers #159
Copy link
Copy link
Closed
Labels
documentationImprovements or additions to documentationImprovements or additions to documentationperformanceBenchmarks, scale, load testingBenchmarks, scale, load testingphase-15Phase 15 - Performance and scalePhase 15 - Performance and scalepriority/P2Valuable; do when the phase allowsValuable; do when the phase allowssize/M2-4 days2-4 days
Milestone
Description
Activity
Metadata
Metadata
Assignees
Labels
documentationImprovements or additions to documentationImprovements or additions to documentationperformanceBenchmarks, scale, load testingBenchmarks, scale, load testingphase-15Phase 15 - Performance and scalePhase 15 - Performance and scalepriority/P2Valuable; do when the phase allowsValuable; do when the phase allowssize/M2-4 days2-4 days
Phase: Phase 15 — Performance and scale
Proposal:
docs/proposals/next-phases.md§15Priority: P2 · Size: M
Problem
docs/operations/capacity.mdcovers CPU shape thoroughly — compile vs leaves,Convertvs array length, JSONPatch marshal cost, spoke-to-spoke overhead. It says nothing about memory, which is the dimension that actually decides how many targets a replica can hold and whatresources.limitsto set.An operator sizing this today is guessing.
Goal
"How much memory per target?" has a published answer.
Design
Measure and publish:
-benchmemover the existing fixture ladder gets most of this.InitialSync, since compile allocates heavily (Phase 9 measured 4.7 MiB for a single 1000-leaf compile) and the transient peak may exceed the steady footprint by a lot.Publish a sizing table with a worked example ("1000 targets averaging 200 leaves ⇒ approximately X MiB steady, Y MiB peak ⇒ set limits to Z"), and state the hardware and Go version the numbers came from, as the existing page does.
Add a
make bench-memtarget so the numbers are reproducible rather than folklore.Acceptance criteria
docs/operations/capacity.mdmake bench-memtargetresourcesreviewed against the findings and adjusted if they are wrongGenerated by Claude Code