Skip to content

Add an e2e perf/load test with blocking commits#7780

Open
eddyashton wants to merge 9 commits intomicrosoft:mainfrom
eddyashton:blocking_perf_test
Open

Add an e2e perf/load test with blocking commits#7780
eddyashton wants to merge 9 commits intomicrosoft:mainfrom
eddyashton:blocking_perf_test

Conversation

@eddyashton
Copy link
Member

Actual throughput isn't so interesting right now, although it does look satisfyingly stable.

image

Instead this should be seen as an initial load/stress test, confirming that the nodes and task system can handle many concurrent users without catastrophe/segfault.

Critically it requires many parallel clients, each waiting for responses rather than pipelining, to get sensible results, hence the recent improvements to basicperf.py.

@eddyashton eddyashton requested a review from a team as a code owner March 26, 2026 14:39
Copilot AI review requested due to automatic review settings March 26, 2026 14:39
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds a new end-to-end load/perf scenario which blocks responses until consensus commit, intended as a stress test for concurrency/task handling rather than raw throughput.

Changes:

  • Extend basicperf.py with blocking_write/blocking_read workloads targeting new “blocking” record endpoints.
  • Improve basicperf.py stacked-bar visualisation by binning many clients into visible groups and adjusting color gradients.
  • Add blocking record endpoints to the basic sample app and register a new pi_basic_blocking perf test in CMake.

Reviewed changes

Copilot reviewed 3 out of 3 changed files in this pull request and generated 1 comment.

File Description
tests/infra/basicperf.py Adds blocking workload generators and improves plotting for many concurrent clients.
samples/apps/basic/basic.cpp Adds /records/blocking/{key} GET/PUT endpoints which respond only once the tx is committed.
CMakeLists.txt Registers a new perf configuration test exercising many concurrent blocking writers.

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.

2 participants