Merge pull request #128466 from dom4ha/scheduler-perf

feature: Make Unschedulable scheduler performance test parametrized with the number of initial nodes.
This commit is contained in:
Kubernetes Prow Robot 2025-01-23 01:30:58 -08:00 committed by GitHub
commit 2334b8469e
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -383,10 +383,13 @@
measurePods: 5000 measurePods: 5000
# Measure throughput of regular schedulable pods that are interleaved by unschedulable pods injected at 5/s rate. # Measure throughput of regular schedulable pods that are interleaved by unschedulable pods injected at 5/s rate.
# Note that the scheduling performance depends on the number of Pods, as preemption plugin needs to loop over all Pods in attempt to preempt them.
- name: Unschedulable - name: Unschedulable
workloadTemplate: workloadTemplate:
- opcode: createNodes - opcode: createNodes
countParam: $initNodes countParam: $initNodes
- opcode: createPods
countParam: $initPods
- opcode: churn - opcode: churn
mode: create mode: create
templatePaths: templatePaths:
@ -397,45 +400,67 @@
podTemplatePath: ../templates/pod-default.yaml podTemplatePath: ../templates/pod-default.yaml
collectMetrics: true collectMetrics: true
workloads: workloads:
- name: 5Nodes/10Pods - name: 5Nodes/1Init/10Pods
featureGates: featureGates:
SchedulerQueueingHints: false SchedulerQueueingHints: false
labels: [integration-test, short] labels: [integration-test, short]
params: params:
initNodes: 5 initNodes: 5
initPods: 1
measurePods: 10 measurePods: 10
- name: 5Nodes/10Pods_QueueingHintsEnabled - name: 5Nodes/1Init/10Pods_QueueingHintsEnabled
featureGates: featureGates:
SchedulerQueueingHints: true SchedulerQueueingHints: true
labels: [integration-test, short] labels: [integration-test, short]
params: params:
initNodes: 5 initNodes: 5
initPods: 1
measurePods: 10 measurePods: 10
- name: 500Nodes/1kPods - name: 500Nodes/10Init/1kPods
labels: [performance, short] labels: [performance, short]
params: params:
initNodes: 500 initNodes: 500
initPods: 10
measurePods: 1000 measurePods: 1000
- name: 5kNodes/1kPods - name: 5kNodes/100Init/1kPods
labels: [performance, short] labels: [performance, short]
params: params:
initNodes: 5000 initNodes: 5000
initPods: 100
measurePods: 1000 measurePods: 1000
- name: 5kNodes/10kPods - name: 5kNodes/100Init/10kPods
featureGates: featureGates:
SchedulerQueueingHints: false SchedulerQueueingHints: false
labels: [performance] labels: [performance]
threshold: 140 threshold: 140
params: params:
initNodes: 5000 initNodes: 5000
initPods: 100
measurePods: 10000 measurePods: 10000
- name: 5kNodes/10kPods_QueueingHintsEnabled - name: 5kNodes/100Init/10kPods_QueueingHintsEnabled
featureGates: featureGates:
SchedulerQueueingHints: true SchedulerQueueingHints: true
labels: [performance] labels: [performance]
threshold: 170 threshold: 170
params: params:
initNodes: 5000 initNodes: 5000
initPods: 100
measurePods: 10000
- name: 5kNodes/20kInit/10kPods
featureGates:
SchedulerQueueingHints: false
labels: [performance]
params:
initNodes: 5000
initPods: 20000
measurePods: 10000
- name: 5kNodes/20kInit/10kPods_QueueingHintsEnabled
featureGates:
SchedulerQueueingHints: true
labels: [performance]
params:
initNodes: 5000
initPods: 20000
measurePods: 10000 measurePods: 10000
- name: SchedulingWithMixedChurn - name: SchedulingWithMixedChurn