-
Spike
-
Resolution: Done
-
Undefined
-
None
-
None
-
None
-
None
-
False
-
None
-
False
-
SECFLOWOTL-172 - Improve performance and reduce footprint of OpenShift GitOps
-
-
-
GITOPS Core Sprint 3248, GITOPS Core Sprint 3249, GITOPS Core Sprint 3251
Story (Required)
As an ArgoCD administrator trying to tune performance of ArgoCD I want to analyze the cache and memory usage of an ArgoCD instance and identify parameters to fine tune the application controller pods.
Background (Required)
In a cluster scoped ArgoCD instance, with 100 namespaces and ~10 applications per namespace, analyze the resources consumed by the instance. There is a known issue where the API server throttles the requests from application controller pod. Check if there are other resource related bottlenecks.
Out of scope
Namespace scoped instances are not covered as part of this story.
Approach (Required)
Analyze how much of memory is used by the application controller pod, redis cache, repo-server.
- Utilize the scripts available in this repo for creating the base setup. https://github.com/akram/argocd-scalability-test/tree/main
- Use prometheus and grafana dashboards for capturing the metrics. (CPU, Memory, Goroutines, Cache size)
- Use Parca (https://www.parca.dev/) to store the profile data and understand where there resources are being consumed.
Dependencies
None
Acceptance Criteria (Mandatory)
- Create a load testing setup for cluster scoped instance
- Capture the resource usage and other metrics using profiling tools and analyze the usage.
- Capture the time delay for application sync.
- Check if there are any application sync lags caused due to
INVEST Checklist
Dependencies identified
Blockers noted and expected delivery timelines set
Design is implementable
Acceptance criteria agreed upon
Story estimated
Legend
Unknown
Verified
Unsatisfied
Done Checklist
- Code is completed, reviewed, documented and checked in
- Unit and integration test automation have been delivered and running cleanly in continuous integration/staging/canary environment
- Continuous Delivery pipeline(s) is able to proceed with new code included
- Customer facing documentation, API docs etc. are produced/updated, reviewed and published
- Acceptance criteria are met
- is cloned by
-
GITOPS-3714 Analyze resource usage in a Cluster scoped ArgoCD with per namespace cluster destination
- Closed
-
GITOPS-4114 Dynamic resource filtering for caching only those resources that are managed by ArgoCD
- Closed
- relates to
-
GITOPS-2657 openshift gitops having issues when it controls too many namespace
- Closed