Write docs/load-testing.md for scripts/loadtest/. The harness seeds a fixture, connects every participant as a socket.io client split across multiple backend nodes to exercise cross-instance fan-out via the Redis adapter, then runs three phases — fan-out latency, presence churn, and a reconnect storm — sampling peak RSS throughout.
Acceptance criteria:
- Documents
seed.ts and run.ts, their arguments (--fixture, --nodes, --baseline, --out), and the required local topology
- Explains the recorded metrics (p50/p95/p99 latency, peak memory, error counts) and the pass/fail thresholds
- Documents
baseline.json: what it represents, how regression tolerance is applied, and the process for refreshing it
- Explains how the nightly workflow runs this and what to do when it fails
Write
docs/load-testing.mdforscripts/loadtest/. The harness seeds a fixture, connects every participant as a socket.io client split across multiple backend nodes to exercise cross-instance fan-out via the Redis adapter, then runs three phases — fan-out latency, presence churn, and a reconnect storm — sampling peak RSS throughout.Acceptance criteria:
seed.tsandrun.ts, their arguments (--fixture,--nodes,--baseline,--out), and the required local topologybaseline.json: what it represents, how regression tolerance is applied, and the process for refreshing it