Skip to content
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

Testing: Establishing Load Test Requirements #316

Closed
4 tasks
Tracked by #319
RealAnna opened this issue Nov 7, 2022 · 1 comment
Closed
4 tasks
Tracked by #319

Testing: Establishing Load Test Requirements #316

RealAnna opened this issue Nov 7, 2022 · 1 comment
Assignees
Labels
chore Maintenance
Milestone

Comments

@RealAnna
Copy link
Contributor

RealAnna commented Nov 7, 2022

To design a few meaningful test scripts for our load tests we should establish reasonable performance requirements.

DoD

  • motivated list of requirements
  • first draft script for a load test (maybe in a form of a new testing ticket) - fetching data from prometheus of how many API call per minute to the KubeAPI server

AC

  • performance requirements are documented
  • first load tests are sketched
@thisthat thisthat moved this to 🎟️ Refined in Keptn Lifecycle Toolkit Nov 8, 2022
@thschue thschue added this to the 1.0.x milestone Nov 9, 2022
@thschue thschue added the chore Maintenance label Nov 11, 2022
@thisthat thisthat modified the milestones: 1.0.x, 0.5.x Dec 13, 2022
@odubajDT odubajDT self-assigned this Dec 15, 2022
@odubajDT odubajDT moved this from 🎟️ Refined to 🏃 In progress in Keptn Lifecycle Toolkit Dec 15, 2022
@odubajDT odubajDT removed their assignment Dec 19, 2022
@odubajDT odubajDT moved this from 🏃 In progress to 🎟️ Refined in Keptn Lifecycle Toolkit Dec 19, 2022
@bacherfl bacherfl self-assigned this Jan 12, 2023
@thisthat thisthat modified the milestones: 0.5.x, 0.6 Jan 12, 2023
@bacherfl
Copy link
Member

A rough first implementation of how load tests could be executed can be found in the following draft PR: #599

In this PR, tests are executed with kube-burner, which might be an interesting choice for doing load tests for Operators, and it also provides a straight forward way to integrate with Prometheus.

As far as the requirements goes, we should always ensure the following:

  1. Number of API Calls should not significantly increase with number of already reconciled objects
  2. Memory Consumption should not significantly increase with number of already reconciled objects
  3. CPU Usage should not significantly increase with number of already reconciled objects

So essentially, the resource footprint should roughly stay the same, regardless if we have a fresh installation or a high number of already reconciled CRDs which do not require any action anymore. E.g.., there should be no endless reconciliation loops for already finished Tasks, Evaluations etc., and memory leaks must be avoided.

Also, as a follow up task we should find the breaking point wrt to how many KLT CRDs we can actively reconcile at the same time in a cluster

@odubajDT odubajDT moved this from 🎟️ Refined to ✅ Done in Keptn Lifecycle Toolkit Feb 8, 2023
@odubajDT odubajDT closed this as completed Feb 8, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
chore Maintenance
Projects
Archived in project
Development

No branches or pull requests

5 participants