Skip to content

Add experimental benchmarking to SV2 UI - #229

Open
pavlenex wants to merge 13 commits into
stratum-mining:mainfrom
pavlenex:benchmark
Open

Add experimental benchmarking to SV2 UI#229
pavlenex wants to merge 13 commits into
stratum-mining:mainfrom
pavlenex:benchmark

Conversation

@pavlenex

Copy link
Copy Markdown
Contributor

This PR follows the approach in #228 and builds on top of it, adding highly experimental Benchmarking feature. The user goes to settings > experimental, enables benchmarking and then tab appears. Based on users initial configuration (I only tested with solo pools) at least two pools are needed to be able to benchmark and user can define time frame, once timeframe expires we fallback to another pool to benchmark.

Pool benchmarking is designed to help users identify which pools work best from their location and with their specific mining setup. It tests each selected pool for the same duration and compares average TCP connection time, SV2 setup time, and accepted and rejected shares.

The attached video shows a short test with only one minute allocated to each pool. These results are not intended to represent or showcase the overall performance of any pool.

benchmark-sv2-experimental.mp4

This is a rough proof of concept, and it would be valuable to discuss which metrics are genuinely useful and how they should be measured and presented to provide fair, meaningful comparisons.

pavlenex added 13 commits July 24, 2026 17:13
Co-authored-by: Pavlenex <36959754+pavlenex@users.noreply.github.com>
Signed-off-by: Pavlenex <36959754+pavlenex@users.noreply.github.com>
Add block-found, best-difficulty, and pool-failover defaults, bot command controls, and monitoring-backed alert detection.

Co-authored-by: Pavlenex <36959754+pavlenex@users.noreply.github.com>
Signed-off-by: Pavlenex <36959754+pavlenex@users.noreply.github.com>
Add backend-owned pool rotation, latency and share measurements, configuration restoration, ranked results, and start-mining actions.

Co-authored-by: Pavlenex <36959754+pavlenex@users.noreply.github.com>
Signed-off-by: Pavlenex <36959754+pavlenex@users.noreply.github.com>
Co-authored-by: Pavlenex <36959754+pavlenex@users.noreply.github.com>
Signed-off-by: Pavlenex <36959754+pavlenex@users.noreply.github.com>
Co-authored-by: Pavlenex <36959754+pavlenex@users.noreply.github.com>
Signed-off-by: Pavlenex <36959754+pavlenex@users.noreply.github.com>
Cap and spread latency sampling, reject partial-success rankings, retain per-channel share totals across reconnects, and clarify the benchmark's limits.

Co-authored-by: Pavlenex <36959754+pavlenex@users.noreply.github.com>
Signed-off-by: Pavlenex <36959754+pavlenex@users.noreply.github.com>
@pavlenex pavlenex linked an issue Jul 28, 2026 that may be closed by this pull request
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.

Add benchmarking feature in SV2 UI

1 participant