From f2c947e36dbde3b5fa81422e57ce1d443ec4485d Mon Sep 17 00:00:00 2001 From: dom4ha Date: Thu, 17 Oct 2024 10:42:54 +0000 Subject: [PATCH 1/3] Add UnschedulableAsync test in scheduler_perf to monitor impact of unschedulable pods on scheduler throughput --- .../config/performance-config.yaml | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/test/integration/scheduler_perf/config/performance-config.yaml b/test/integration/scheduler_perf/config/performance-config.yaml index d62141438c9..53a7586b9b3 100644 --- a/test/integration/scheduler_perf/config/performance-config.yaml +++ b/test/integration/scheduler_perf/config/performance-config.yaml @@ -775,6 +775,38 @@ initPods: 2000 measurePods: 5000 +# Measure throughput of regular schedulable pods that are interleaved by unschedulable pods injected at 100/s rate. +- name: UnschedulableAsync + workloadTemplate: + - opcode: createNodes + countParam: $initNodes + - opcode: churn + mode: create + templatePaths: + - config/templates/pod-large-cpu.yaml + intervalMilliseconds: 10 + - opcode: createPods + countParam: $measurePods + podTemplatePath: config/templates/pod-default.yaml + collectMetrics: true + workloads: + - name: 500Nodes/1kPods + labels: [integration-test, performance, short] + params: + initNodes: 500 + measurePods: 1000 + - name: 5kNodes/1kPods + labels: [performance, short] + params: + initNodes: 5000 + measurePods: 1000 + - name: 5kNodes/10kPods + labels: [performance] + threshold: 400 + params: + initNodes: 5000 + measurePods: 10000 + - name: SchedulingWithMixedChurn workloadTemplate: - opcode: createNodes From 59458573ffccb57c8b2a67091364e215b2794076 Mon Sep 17 00:00:00 2001 From: dom4ha Date: Thu, 17 Oct 2024 13:41:13 +0000 Subject: [PATCH 2/3] Remove unschedulable test and replace it with the new one. --- .../config/performance-config.yaml | 46 +------------------ 1 file changed, 1 insertion(+), 45 deletions(-) diff --git a/test/integration/scheduler_perf/config/performance-config.yaml b/test/integration/scheduler_perf/config/performance-config.yaml index 53a7586b9b3..acd93b4f256 100644 --- a/test/integration/scheduler_perf/config/performance-config.yaml +++ b/test/integration/scheduler_perf/config/performance-config.yaml @@ -731,52 +731,8 @@ initPods: 20000 measurePods: 5000 -- name: Unschedulable - workloadTemplate: - - opcode: createNodes - countParam: $initNodes - - opcode: createPods - countParam: $initPods - podTemplatePath: config/templates/pod-large-cpu.yaml - skipWaitToCompletion: true - - opcode: createPods - countParam: $measurePods - podTemplatePath: config/templates/pod-default.yaml - collectMetrics: true - workloads: - - name: 5Nodes/2InitPods - labels: [integration-test, performance, short] - params: - initNodes: 5 - initPods: 2 - measurePods: 10 - - name: 500Nodes/200InitPods - labels: [performance, short] - params: - initNodes: 500 - initPods: 200 - measurePods: 1000 - - name: 5000Nodes/200InitPods - labels: [performance, short] - params: - initNodes: 5000 - initPods: 200 - measurePods: 5000 - - name: 5000Nodes/200InitPods/10000Pods - labels: [performance] - threshold: 300 - params: - initNodes: 5000 - initPods: 200 - measurePods: 10000 - - name: 5000Nodes/2000InitPods - params: - initNodes: 5000 - initPods: 2000 - measurePods: 5000 - # Measure throughput of regular schedulable pods that are interleaved by unschedulable pods injected at 100/s rate. -- name: UnschedulableAsync +- name: Unschedulable workloadTemplate: - opcode: createNodes countParam: $initNodes From b7f55a37a0656335cee550bf004856888c1dde3e Mon Sep 17 00:00:00 2001 From: dom4ha Date: Thu, 17 Oct 2024 15:34:23 +0000 Subject: [PATCH 3/3] Bring back the smallest integration test --- .../scheduler_perf/config/performance-config.yaml | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/test/integration/scheduler_perf/config/performance-config.yaml b/test/integration/scheduler_perf/config/performance-config.yaml index acd93b4f256..4c84fc15f40 100644 --- a/test/integration/scheduler_perf/config/performance-config.yaml +++ b/test/integration/scheduler_perf/config/performance-config.yaml @@ -746,8 +746,13 @@ podTemplatePath: config/templates/pod-default.yaml collectMetrics: true workloads: - - name: 500Nodes/1kPods + - name: 5Nodes/10Pods labels: [integration-test, performance, short] + params: + initNodes: 5 + measurePods: 10 + - name: 500Nodes/1kPods + labels: [performance, short] params: initNodes: 500 measurePods: 1000