From c72a92eff5a0f0ddb509e28cea6fefec6b424b41 Mon Sep 17 00:00:00 2001 From: Hidde Beydals Date: Fri, 8 Dec 2023 19:05:12 +0100 Subject: [PATCH 1/3] Improve wording in results document Signed-off-by: Hidde Beydals --- RESULTS.md | 28 ++++++++++++++++------------ 1 file changed, 16 insertions(+), 12 deletions(-) diff --git a/RESULTS.md b/RESULTS.md index f02acee..9f57f24 100644 --- a/RESULTS.md +++ b/RESULTS.md @@ -1,11 +1,12 @@ # MTTP Benchmark Results -The Mean Time To Production (MTTP) benchmark measures the time it takes for Flux -to deploy application changes into production. We measure the time spent on fetching -app packages from the registry (Flux OCI artifacts and Helm charts) and the time spent -reconciling app definitions on the Kubernetes cluster. +The Mean Time To Production (MTTP) benchmark measures the time it takes for +Flux to deploy application changes into production. We measure the time spent +on fetching app packages from the registry (Flux OCI artifacts and Helm charts) +and the time spent reconciling app definitions on the Kubernetes cluster. -For this benchmark we assume 100, 500 and 1000 app packages being pushed to the registry at the same time. +For this benchmark we assume 100, 500 and 1000 app packages being pushed to the +registry at the same time. **Specs** @@ -36,13 +37,16 @@ For this benchmark we assume 100, 500 and 1000 app packages being pushed to the ### Observations -Increasing kustomize-controller's concurrency above 10, -does yell better results but the tmp dir must be in tmpfs to avoid kustomize build disk thrashing. +Increasing kustomize-controller's concurrency above 10 does yield better +results, but the `/tmp` directory must be in tmpfs to prevent the Kustomize +build from disk thrashing. -Setting `DisableStatusPollerCache` in kustomize-controller is a must when reconciling more than 100 -objects in a namespace, otherwise the poller cache will fill all the available memory. +Setting `DisableStatusPollerCache` in kustomize-controller is a must when +reconciling more than 100 objects in a namespace, otherwise the poller +cache will fill all the available memory. -Increasing helm-controller's concurrency above 10, -does not yell better results due to Helm SDK overloading the Kubernetes OpenAPI endpoint. -Higher concurrency probably requires an HA Kubernetes control plane with multiple API replicas. +Increasing helm-controller's concurrency above 10 does not yield better +results due to Helm SDK overloading the Kubernetes OpenAPI endpoint. +Higher concurrency probably requires an HA Kubernetes control plane with +multiple API replicas. From 78f9ac88628f84777dc1c538b8c612fdc260e0ef Mon Sep 17 00:00:00 2001 From: Hidde Beydals Date: Tue, 12 Dec 2023 09:09:45 +0100 Subject: [PATCH 2/3] Remove `DisableStatusPollerCache` observation As this is now the default. Signed-off-by: Hidde Beydals --- RESULTS.md | 4 ---- 1 file changed, 4 deletions(-) diff --git a/RESULTS.md b/RESULTS.md index 9f57f24..eff531f 100644 --- a/RESULTS.md +++ b/RESULTS.md @@ -41,10 +41,6 @@ Increasing kustomize-controller's concurrency above 10 does yield better results, but the `/tmp` directory must be in tmpfs to prevent the Kustomize build from disk thrashing. -Setting `DisableStatusPollerCache` in kustomize-controller is a must when -reconciling more than 100 objects in a namespace, otherwise the poller -cache will fill all the available memory. - Increasing helm-controller's concurrency above 10 does not yield better results due to Helm SDK overloading the Kubernetes OpenAPI endpoint. Higher concurrency probably requires an HA Kubernetes control plane with From c7f17c7a15a4484264452b124f55f32a3b4890a7 Mon Sep 17 00:00:00 2001 From: Hidde Beydals Date: Tue, 12 Dec 2023 09:10:49 +0100 Subject: [PATCH 3/3] Add link to in-memory Kustomize builds document Signed-off-by: Hidde Beydals --- RESULTS.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RESULTS.md b/RESULTS.md index eff531f..4141959 100644 --- a/RESULTS.md +++ b/RESULTS.md @@ -39,10 +39,10 @@ registry at the same time. Increasing kustomize-controller's concurrency above 10 does yield better results, but the `/tmp` directory must be in tmpfs to prevent the Kustomize -build from disk thrashing. +build from disk thrashing. Documentation on this can be found here: +https://fluxcd.io/flux/installation/configuration/vertical-scaling/#enable-in-memory-kustomize-builds Increasing helm-controller's concurrency above 10 does not yield better results due to Helm SDK overloading the Kubernetes OpenAPI endpoint. Higher concurrency probably requires an HA Kubernetes control plane with multiple API replicas. -