-
Notifications
You must be signed in to change notification settings - Fork 41.5k
feature: Make Unschedulable scheduler performance test parametrized with the number of initial nodes. #128466
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
Conversation
This issue is currently awaiting triage. If a SIG or subproject determines this is a relevant issue, they will accept it by applying the The Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
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.
/test pull-kubernetes-scheduler-perf
initNodes: 5000 | ||
initPods: 100 | ||
measurePods: 1000 | ||
- name: 5kNodes/10kPods |
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.
- name: 5kNodes/10kPods | |
- name: 5kNodes/100Init/10kPods |
Should we keep the test names consistent?
Either all xNodes/xInit/xPods, or all xNodes/xPods
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.
Done.
4dc6e21
to
9280429
Compare
106f55e
to
e5edc4b
Compare
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.
/test pull-kubernetes-scheduler-perf
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.
/hold
thresholds needs to be adjusted
e5edc4b
to
06dbf5e
Compare
/test pull-kubernetes-scheduler-perf |
06dbf5e
to
24e814c
Compare
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.
Like mentioned in #128968 (comment), I'm not able to set thresholds accurately, so putting my predictions.
For now, for newly added or changed tests, we can skip adding the thresholds, and can do later after getting an enough number of historical runs. |
/lgtm |
LGTM label has been added. Git tree hash: a9b797f2bd647b27dfe9c633154a92ab2bd2a5ec
|
To verify if kubernetes/test-infra#33850 is working: |
24e814c
to
ad503c0
Compare
Thanks @macsko , I got the numbers from the produced artefacts: Unschedulable_5kNodes_20kInit_10kPods - 121 (predicted 100) I indeed guestimated the limits and looking into above number, they indeed might be too high. Let's remove the limits then and wait for some historical runs. |
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.
/approve
leave /lgtm
to @macsko
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: anandfresh, dom4ha, sanposhiho The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
/lgtm |
LGTM label has been added. Git tree hash: a44ab33442fcbbaba4d51952cc9d9811267f9d6d
|
…ith the number of initial nodes.
ad503c0
to
f150016
Compare
/test pull-kubernetes-scheduler-perf |
/unhold |
/lgtm |
LGTM label has been added. Git tree hash: b6b1c7b5a83a1cd6b9f1ffe4f5e3b466142ea92e
|
What type of PR is this?
/kind feature
What this PR does / why we need it:
Performance of processing unschedulable pods depends on the overall number of the scheduled pods, since all of them need to be considered in the postfilter by the preemption plugin.
This change parametrizes Unschedulable test with the number of initial pods, to show the difference in the throughput of regular pods when they are interleaved with these unschedulable ones.
The throughput numbers shown by this test case are not fully representative, as they only indirectly show the time scheduler needs spend processing unschedulable pods. In practices, we are more interested in the time this processing takes, since scheduling large number of high priority unschedulable pods will in fact block scheduler for a certain time.
I made some measures and it turns out that when there is 20k pods running, the scheduling takes 20ms (50/s), which means that scheduling 3k such pods will block scheduling for a minute.
Which issue(s) this PR fixes:
Part of #128221
Special notes for your reviewer:
Does this PR introduce a user-facing change?
Additional documentation e.g., KEPs (Kubernetes Enhancement Proposals), usage docs, etc.: