Add an e2e perf/load test with blocking commits#7780
Open
eddyashton wants to merge 9 commits intomicrosoft:mainfrom
Open
Add an e2e perf/load test with blocking commits#7780eddyashton wants to merge 9 commits intomicrosoft:mainfrom
eddyashton wants to merge 9 commits intomicrosoft:mainfrom
Conversation
Contributor
There was a problem hiding this comment.
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.pywithblocking_write/blocking_readworkloads targeting new “blocking” record endpoints. - Improve
basicperf.pystacked-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_blockingperf 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. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Actual throughput isn't so interesting right now, although it does look satisfyingly stable.
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.