Skip to content

Commit

Permalink
Cherry pick #1236, #1235 (#1237)
Browse files Browse the repository at this point in the history
* feat: update scaling test results for the admission controller (#1235)

Signed-off-by: ShutingZhao <shuting@nirmata.com>

* feat: update 1.12.1 scaling test results for the reports controller  (#1236)

* feat: update scaling test results for the admission controller

Signed-off-by: ShutingZhao <shuting@nirmata.com>

* feat: update scaling test results for the reports controller

Signed-off-by: ShutingZhao <shuting@nirmata.com>

---------

Signed-off-by: ShutingZhao <shuting@nirmata.com>

---------

Signed-off-by: ShutingZhao <shuting@nirmata.com>
  • Loading branch information
realshuting committed May 1, 2024
1 parent 18e44e9 commit 8e18729
Showing 1 changed file with 17 additions and 14 deletions.
31 changes: 17 additions & 14 deletions content/en/docs/Installation/scaling.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,25 +35,28 @@ The following table shows the resource consumption (memory and CPU) and latency
The test was conducted where we installed Kyverno policies to enforce the Kubernetes pod security standards using 17 policies. Subsequently, we developed a compatible Pod test to measure how long Kyverno takes to admit the admission request. For more details on these tests, refer to the load testing documentation [here](https://github.com/kyverno/load-testing/tree/main/k6).


| replicas | # policies | Rule Type | Mode | Subject | Virtual Users/Iterations | Latency (avg/p(90), unit: ms) | Memory (max) | CPU (max) |
|----------|------------|-----------|---------|---------|--------------------------|------------------------------|--------------|-----------|
| 1 | 17 | Validate | Enforce | Pods | 100/1,000 | 44.28 / 67.64 | 104Mi | 563m |
| 1 | 17 | Validate | Enforce | Pods | 200/5,000 | 87.88 / 156.22 | 115Mi | 3878m |
| 1 | 17 | Validate | Enforce | Pods | 500/10,000 | 200.45 / 506.65 | 116Mi | 4733m |
| 3 | 17 | Validate | Enforce | Pods | 100/1,000 | 34.14 / 54.76 | 72Mi | 235m |
| 3 | 17 | Validate | Enforce | Pods | 200/5,000 | 60 / 107.19 | 109Mi | 1398m |
| 3 | 17 | Validate | Enforce | Pods | 500/10,000 | 142 / 285.18 | 186Mi | 2186m |
| replicas | # policies | Rule Type | Mode | Subject | Virtual Users/Iterations | Latency (avg/max) | Memory (max) | CPU (max) |
|----------|------------|-----------|---------|---------|--------------------------|-------------------|--------------|-----------|
| 1 | 17 | Validate | Enforce | Pods | 100/1,000 | 42.89ms / 155.77ms | 115Mi | 211m |
| 1 | 17 | Validate | Enforce | Pods | 200/5,000 | 73.37ms / 432.37ms | 136Mi | 1148m |
| 1 | 17 | Validate | Enforce | Pods | 500/10,000 | 210.56ms / 1.54s | 315Mi | 1470m |
| 3 | 17 | Validate | Enforce | Pods | 100/1,000 | 31.06ms / 111.42ms | 110Mi | 96m |
| 3 | 17 | Validate | Enforce | Pods | 200/5,000 | 56.56ms / 248.38ms | 116Mi | 315m |
| 3 | 17 | Validate | Enforce | Pods | 500/10,000 | 136.77ms / 666.04ms | 167Mi | 524m |

#### Reports Controller

The following table shows the resource consumption (memory and CPU) and objects sizes in etcd of increased workloads. The test was conducted where we installed Kyverno policies to audit the Kubernetes pod security standards using 17 policies. Subsequently, we created workloads and scheduled them on the fake KWOK nodes to measure total size of policy reports in etcd. [KWOK](https://kwok.sigs.k8s.io/) is a toolkit that enables setting up a cluster of thousands of Nodes in seconds. For more details on these tests, refer to the testing documentation for [the report controller](https://github.com/kyverno/kyverno/tree/main/docs/perf-testing).

| # policyreports | policyreports size in etcd | CPU (max) | memory (max) | # pods | # ephemeralreports | ephemeralreports size in etcd |
|-----------------|----------------------------|-----------|--------------|--------|---------------------|--------------------------------|
| 2174 | 247 MB | 2529m | 124Mi | 1936 | 1825 | 35.5 MB |
| 3193 | 309 MB | 2480m | 142Mi | 2786 | 3126 | 66.8 MB |
| 5212 | 383.2 MB | 2535m | 185Mi | 4486 | 4614 | 158.6 MB |
| 7789 | 486.5 MB | 10033m | 384Mi | 9336 | 13850 | 4.4 GB |
| # policyreports | total etcd size | CPU (max) | memory (max) |
|-----------------|-----------------|-----------|--------------|
| 1270 | 134 MB | 575m | 91Mi |
| 2470 | 223 MB | 1389m | 101Mi |
| 3770 | 280 MB | 1238m | 107Mi |
| 4970 | 334 MB | 1174m | 114Mi |
| 7370 | 467 MB | 1749m | 144Mi |
| 9770 | 552 MB | 1859m | 160Mi |
| 10010 | 552 MB | 1859m | 138Mi |

#### AdmissionReview Reference

Expand Down

0 comments on commit 8e18729

Please sign in to comment.