Rivellum

Rivellum Portal

Download Wallet (Chrome)
Checking...
In Development

Performance Benchmarks

Comprehensive guide to performance benchmarking and regression testing

Rivellum benchmark documentation now treats validity gates as first-class. The project still uses rivellum-bench, but sustained-load claims must be tied to benchmark mode, topology, storage mode, and worker validation.

Current Benchmark Model

sustained-load defaults to continuous mode:

  1. start generators
  2. run warmup as unmeasured lead-in
  3. capture baselines while load is still flowing
  4. measure without restarting generators or resetting nonces
  5. stop submission after the measured window
  6. drain accepted work for accounting

--premeasure-drain is still available, but it is debug-only isolated_premeasure_drain mode and must not be presented as sustained throughput.

Valid Throughput Baselines

Current valid single-lane role-distributed external-worker baselines are drawn from clean continuous runs with leader-authoritative startup nonce fetch and no nonce rejects:

Offered targetCommit TPSSteady commit TPSFinality p50 / p95 / maxNotes
5,0004,2394,95725 ms / 97 ms / 203 msvalid baseline
5,0004,2634,98326 ms / 97 ms / 259 msvalid baseline
7,0004,3955,13630 ms / 133 ms / 467 msvalid baseline

These are role-distributed runs from the current external-worker path with nt_rejected_stale=0 and worker activity proven in metrics.

Diagnostic Results

Some recent runs are diagnostic only and must not be headlined as protocol throughput:

  • PoUW outbox disabled mode is an A/B control to isolate hot-path disk cost.
  • isolated premeasure drain mode is a debug mode, not a sustained benchmark.
  • runs with stale nonce rejects, worker failures, dispatch drops, ENOSPC, or compromised infrastructure are invalid as baselines.

Required Validity Gates

A run is only a sustained throughput baseline if all of the following hold:

  • benchmark_mode = continuous
  • actual offered TPS is reported, not just target rate
  • topology is declared
  • storage mode is declared
  • worker_jobs_received_total > 0 and worker_jobs_completed_total > 0 in external-worker mode
  • worker_jobs_failed_total = 0
  • leader_worker_results_received_total catches up
  • nonce_rejected_total = 0
  • nt_rejected_stale = 0
  • dispatch_dropped_total = 0
  • batches_failed = 0
  • rejection receipts are not counted as successes
  • no ENOSPC, active swap, malware, or public-service compromise

Key Flags And Fields

Useful sustained-load fields and options include:

ItemMeaning
--ratetarget offered TPS
--warmupunmeasured lead-in
--measured-durationmeasurement window
--worker-urlscommittee-worker metrics surfaces
--metrics-urlscommit-authoritative metrics surfaces
--topology role-distributedexplicit topology declaration
--premeasure-draindebug-only isolated mode
benchmark_modecontinuous or isolated_premeasure_drain
isolated_premeasure_drain_*diagnostic fields, null in continuous mode

Interpreting Current Results

  • The current clean external-worker single-lane path is in the low-to-mid 4k committed TPS range on the documented role-distributed setup.
  • Disabled PoUW outbox mode can improve throughput materially, but it is not a canonical protocol result.
  • The next identified hot-path target after PoUW isolation is per-intent state-root work inside remote worker dispatch.