Skip to content

feat: gsa-bench + sweep-matrix wrapper - #72

Draft
gdeest wants to merge 6 commits into
fix/gsa-functional-issuesfrom
feat/gsa-bench
Draft

gdeest wants to merge 6 commits into
fix/gsa-functional-issuesfrom
feat/gsa-bench

Conversation

@gdeest

@gdeest gdeest commented May 7, 2026 •

Copy link
Copy Markdown
Contributor

Introduces gsa-bench utility, whose goal is to "pull" from GSA as fast as possible, possibly running multiple streams in parallel, and returns throughput measurements. The goal is to validate that GSA has enough bandwidth headroom for cardano-node needs.

Also includes:

  • sweep-matrix.sh which produces a CSV file of measurements from a matrix of configurations.
  • A Python script for plutting bench results.

@gdeest gdeest changed the title feat: gsa-bench, a synthetic node-to-node throughput benchmark feat: gsa-bench May 7, 2026
@gdeest gdeest changed the title feat: gsa-bench feat: gsa-bench + sweep-matrix wrapper May 7, 2026
@gdeest
gdeest marked this pull request as draft May 7, 2026 22:42
gdeest added 4 commits May 8, 2026 01:17
Switches the BlockFetch client from the non-pipelined API to
ClientPipelined / YieldPipelined / Collect, matching what cardano-node
itself does on a single peer connection. Adds --max-in-flight K (default
10, cap 100, mirroring blockFetchPipeliningMax) and widens the header
queue to (K + 4) * batchSize so ChainSync can keep BlockFetch's pipeline
full. test/bench/sweep-pipeline.sh sweeps K x batch on a single
connection; test/bench/plot.py auto-detects sweep schema and emits a
matching set of plots.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant