diff --git a/test/integration/scheduler_perf/config/performance-config.yaml b/test/integration/scheduler_perf/config/performance-config.yaml index 515d47975b8..1a5e82f6826 100644 --- a/test/integration/scheduler_perf/config/performance-config.yaml +++ b/test/integration/scheduler_perf/config/performance-config.yaml @@ -1,5 +1,4 @@ - name: SchedulingBasic - labels: [performance] defaultPodTemplatePath: config/pod-default.yaml workloadTemplate: - opcode: createNodes @@ -17,13 +16,13 @@ initPods: 500 measurePods: 1000 - name: 5000Nodes + labels: [performance, fast] params: initNodes: 5000 initPods: 1000 measurePods: 1000 - name: SchedulingPodAntiAffinity - labels: [performance] defaultPodTemplatePath: config/pod-with-pod-anti-affinity.yaml workloadTemplate: - opcode: createNodes @@ -46,13 +45,13 @@ initPods: 100 measurePods: 400 - name: 5000Nodes + labels: [performance, fast] params: initNodes: 5000 initPods: 1000 measurePods: 1000 - name: SchedulingSecrets - labels: [performance] defaultPodTemplatePath: config/pod-with-secret-volume.yaml workloadTemplate: - opcode: createNodes @@ -70,6 +69,7 @@ initPods: 500 measurePods: 1000 - name: 5000Nodes + labels: [performance, fast] params: initNodes: 5000 initPods: 5000 @@ -173,7 +173,6 @@ measurePods: 1000 - name: SchedulingPodAffinity - labels: [performance] defaultPodTemplatePath: config/pod-with-pod-affinity.yaml workloadTemplate: - opcode: createNodes @@ -200,6 +199,7 @@ initPods: 500 measurePods: 1000 - name: 5000Nodes + labels: [performance, fast] params: initNodes: 5000 initPods: 5000 @@ -235,7 +235,6 @@ measurePods: 1000 - name: SchedulingPreferredPodAntiAffinity - labels: [performance] defaultPodTemplatePath: config/pod-with-preferred-pod-affinity.yaml workloadTemplate: - opcode: createNodes @@ -258,13 +257,13 @@ initPods: 500 measurePods: 1000 - name: 5000Nodes + labels: [performance, fast] params: initNodes: 5000 initPods: 5000 measurePods: 1000 - name: SchedulingNodeAffinity - labels: [performance] defaultPodTemplatePath: config/pod-with-node-affinity.yaml workloadTemplate: - opcode: createNodes @@ -286,13 +285,13 @@ initPods: 500 measurePods: 1000 - name: 5000Nodes + labels: [performance, fast] params: initNodes: 5000 initPods: 5000 measurePods: 1000 - name: TopologySpreading - labels: [performance] workloadTemplate: - opcode: createNodes countParam: $initNodes @@ -315,6 +314,7 @@ initPods: 1000 measurePods: 1000 - name: 5000Nodes + labels: [performance, fast] params: initNodes: 5000 initPods: 5000 @@ -411,6 +411,7 @@ collectMetrics: true workloads: - name: 500Nodes + labels: [fast] params: initNodes: 500 initPods: 2000 @@ -455,7 +456,6 @@ # measurePods: 5000 - name: Unschedulable - labels: [performance] workloadTemplate: - opcode: createNodes countParam: $initNodes @@ -475,6 +475,7 @@ initPods: 200 measurePods: 1000 - name: 5000Nodes/200InitPods + labels: [performance, fast] params: initNodes: 5000 initPods: 200 @@ -508,11 +509,13 @@ initNodes: 1000 measurePods: 1000 - name: 5000Nodes + labels: [performance, fast] params: initNodes: 5000 measurePods: 2000 - name: SchedulingRequiredPodAntiAffinityWithNSSelector + labels: [performance] defaultPodTemplatePath: config/pod-anti-affinity-ns-selector.yaml workloadTemplate: - opcode: createNodes @@ -536,6 +539,13 @@ collectMetrics: true namespace: measure-ns-0 workloads: + - name: 500Nodes + labels: [fast] + params: + initNodes: 500 + initPodsPerNamespace: 4 + initNamespaces: 10 + measurePods: 100 - name: 5000Nodes params: initNodes: 5000 @@ -544,6 +554,7 @@ measurePods: 1000 - name: SchedulingPreferredAntiAffinityWithNSSelector + labels: [performance] defaultPodTemplatePath: config/pod-preferred-anti-affinity-ns-selector.yaml workloadTemplate: - opcode: createNodes @@ -567,6 +578,13 @@ collectMetrics: true namespace: measure-ns-0 workloads: + - name: 500Nodes + labels: [fast] + params: + initNodes: 500 + initPodsPerNamespace: 4 + initNamespaces: 10 + measurePods: 100 - name: 5000Nodes params: initNodes: 5000 @@ -575,6 +593,7 @@ measurePods: 1000 - name: SchedulingRequiredPodAffinityWithNSSelector + labels: [performance] defaultPodTemplatePath: config/pod-affinity-ns-selector.yaml workloadTemplate: - opcode: createNodes @@ -601,6 +620,13 @@ collectMetrics: true namespace: measure-ns-0 workloads: + - name: 500Nodes + labels: [fast] + params: + initNodes: 500 + initPodsPerNamespace: 4 + initNamespaces: 10 + measurePods: 100 - name: 5000Nodes params: initNodes: 5000 @@ -609,6 +635,7 @@ measurePods: 1000 - name: SchedulingPreferredAffinityWithNSSelector + labels: [performance] defaultPodTemplatePath: config/pod-preferred-affinity-ns-selector.yaml workloadTemplate: - opcode: createNodes @@ -632,6 +659,13 @@ collectMetrics: true namespace: measure-ns-0 workloads: + - name: 500Nodes + labels: [fast] + params: + initNodes: 500 + initPodsPerNamespace: 4 + initNamespaces: 10 + measurePods: 100 - name: 5000Nodes params: initNodes: 5000 @@ -660,6 +694,7 @@ normalNodes: 400 measurePods: 400 - name: 5000Nodes + labels: [performance, fast] params: taintNodes: 1000 normalNodes: 4000 diff --git a/test/integration/scheduler_perf/scheduler_perf_test.go b/test/integration/scheduler_perf/scheduler_perf_test.go index 821d28be255..1a151a5c0d7 100644 --- a/test/integration/scheduler_perf/scheduler_perf_test.go +++ b/test/integration/scheduler_perf/scheduler_perf_test.go @@ -769,6 +769,15 @@ func unrollWorkloadTemplate(b *testing.B, wt []op, w *workload) []op { } func runWorkload(ctx context.Context, b *testing.B, tc *testCase, w *workload) []DataItem { + start := time.Now() + b.Cleanup(func() { + duration := time.Now().Sub(start) + // This includes startup and shutdown time and thus does not + // reflect scheduling performance. It's useful to get a feeling + // for how long each workload runs overall. + b.ReportMetric(duration.Seconds(), "runtime_seconds") + }) + var cfg *config.KubeSchedulerConfiguration var err error if tc.SchedulerConfigPath != nil {