load

command
v0.7.21 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 21, 2026 License: MIT Imports: 14 Imported by: 0

Documentation

Overview

ingress_churn is a release-gate load harness for the AerolVM cluster data-plane ingress. It runs against a live cluster (NOT a unit-test fixture) and measures the SLOs called out in plans/cluster-criticial-thinking-stage-2/06-release-gates.md:

  • placement-to-ingress convergence p95 < 2s
  • Raft apply p99 < 100ms steady-state
  • zero wrong-owner ingress route misses after convergence

It expects the cluster to already be running (e.g. the three-server + N-worker + three-ingress topology from cluster-ingress.mdx) and an SB_PAT_TOKEN set in the env. It does NOT bring up nodes or join them.

Output: a CSV of (timestamp, op, duration_ms, status_code, route_lag_ms) suitable for attaching to a release PR as the convergence artifact, plus a per-op p50/p95/p99 summary printed to stderr at exit.

Run:

go run scripts/load/ingress_churn.go \
    -api https://api.sandbox.example.com \
    -ingress https://ingress.sandbox.example.com \
    -pat "$SB_PAT_TOKEN" \
    -rate 1 \
    -concurrency 4 \
    -duration 60m \
    -out churn.csv

The harness is intentionally small. It is not a load generator in the hey/wrk sense — it's a slow, steady churn driver whose goal is to surface the convergence story under realistic placement churn, not to saturate any individual endpoint.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL