• Kubernetes Submit Queue's avatar
    Merge pull request #57215 from misterikkit/topologyBenchmark · 75aaacc5
    Kubernetes Submit Queue authored
    Automatic merge from submit-queue (batch tested with PRs 57215, 57489). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
    
    Add scheduler benchmark tests for PodAntiAffinity rules
    
    **What this PR does / why we need it**:
    This adds a benchmark test that measures the scheduling latency of pods with PodAntiAffinity rules where topologyKey=kubernetes.io/hostname.
    
    Additionally, this PR imposes a minimum `b.N` value to make the test results more meaningful.
    
    The benchmark is needed to validate any performance improvements made for #54189.
    
    
    Command used to invoke:
    ```sh
    make test-integration WHAT=./test/integration/scheduler_perf KUBE_TEST_ARGS="-run=xxxx -bench=."
    ```
    
    Sample output:
    ```
    pkg: k8s.io/kubernetes/test/integration/scheduler_perf
    BenchmarkScheduling/100Nodes/0Pods-40        100          36316838 ns/op
    BenchmarkScheduling/100Nodes/1000Pods-40                     100          69460001 ns/op
    BenchmarkScheduling/1000Nodes/0Pods-40                       100         193755560 ns/op
    BenchmarkScheduling/1000Nodes/1000Pods-40                    100         343451472 ns/op
    BenchmarkSchedulingAntiAffinity/500Nodes/250Pods-40                  250         127236420 ns/op
    BenchmarkSchedulingAntiAffinity/500Nodes/5000Pods-40                 250         478661925 ns/op
    PASS
    ok      k8s.io/kubernetes/test/integration/scheduler_perf       354.008s
    ```
    
    **Which issue(s) this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close the issue(s) when PR gets merged)*:
    Fixes #
    
    **Special notes for your reviewer**:
    
    
    **Release note**:
    
    ```release-note
    NONE
    ```
    75aaacc5
Name
Last commit
Last update
.github Loading commit data...
Godeps Loading commit data...
api Loading commit data...
build Loading commit data...
cluster Loading commit data...
cmd Loading commit data...
docs Loading commit data...
examples Loading commit data...
hack Loading commit data...
logo Loading commit data...
pkg Loading commit data...
plugin Loading commit data...
staging Loading commit data...
test Loading commit data...
third_party Loading commit data...
translations Loading commit data...
vendor Loading commit data...
.bazelrc Loading commit data...
.generated_files Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.kazelcfg.json Loading commit data...
BUILD.bazel Loading commit data...
CHANGELOG-1.10.md Loading commit data...
CHANGELOG-1.2.md Loading commit data...
CHANGELOG-1.3.md Loading commit data...
CHANGELOG-1.4.md Loading commit data...
CHANGELOG-1.5.md Loading commit data...
CHANGELOG-1.6.md Loading commit data...
CHANGELOG-1.7.md Loading commit data...
CHANGELOG-1.8.md Loading commit data...
CHANGELOG-1.9.md Loading commit data...
CHANGELOG.md Loading commit data...
CONTRIBUTING.md Loading commit data...
LICENSE Loading commit data...
Makefile Loading commit data...
Makefile.generated_files Loading commit data...
OWNERS Loading commit data...
OWNERS_ALIASES Loading commit data...
README.md Loading commit data...
SUPPORT.md Loading commit data...
Vagrantfile Loading commit data...
WORKSPACE Loading commit data...
code-of-conduct.md Loading commit data...
labels.yaml Loading commit data...