-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add concurrency to create/update/insert benchmarks #171
Conversation
Benchmark Result
Current status
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks a lot @marco6! I don't know anything about k8s dqlite, so please treat my minor comments as probably-not-so-important-and-just-out-of-curiosity
We are limited in the output of the benchmark test if I remember correctly? We can't combine the results of say the create run, right? |
As discussed on MM, we decided to change the naming of the tests as it was quite confusing. We are keeping them separated so that we can see how it behaves under different kind of loads. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM, thank you Marco!
I've got one more question more out of curiosity.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is our published benchmark test showing some gaps in the Before
column in some places?
Because the matching is done on the name. The
While the new set has none of those and new ones. As such, they cannot be compared. This is also the reason why #170 needs to be rebased once this is in (a merge would not work from the PoV of benchmarking). |
Single threading benchmarking is interesting, but it is also necessary to understand how the system behaves in the face of multiple concurrent clients contenting the database.
This PR adds concurrency to the write path, while keeping operations distinct (i.e. no mixed create/update/delete load). While still a synthetic load, it can be considered "closer to reality".