-
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
Performance Test Set-up (1) #197
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.
Really amazing job @louiseschmidtgen! I tried to go through it as accurate as I could, and LGTM! It should have been such a huge effort to prepare this PR. Wonderful job!
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.
Nice work so far! I did an initial pass. I am concerned about code duplication with k8s-snap/tests/integration.
Performance Test
The performance test spins up three lxd containers that join a cluster. Currently, this cluster consists of three control planes. In a follow-up to this PR, kube-burner will run a load-test on the cluster and the resulting metrics are to be displayed as a comment on any future opened PRs.
Set-up
This PR sets up the harness and gh action for the performance test.
These k8s-dqlite combinations get tested on every test:
For simplification, we could opt to run the test on
v1.1.11
andv1.2.0
only with the published snap (not swapping out the dqlite version).Note
Tests are not run as a matrix but in sequence as the collected metrics will be turned into graphs at the end of the workflow.
This test set-up is similar to the k8s-snap integration test. The test is not part of that suite as it is designed as a performance measurement tool of the k8s-dqlite code. It is a tool to directly compare the performance improvements in PRs against the code in master. The test could be extended for microk8s. For those reasons the correct location for this test is in k8s-dqlite.