Uploaded image for project: 'OpenShift GitOps'
  1. OpenShift GitOps
  2. GITOPS-3714

Analyze resource usage in a Cluster scoped ArgoCD with per namespace cluster destination

XMLWordPrintable

    • Icon: Spike Spike
    • Resolution: Done
    • Icon: Normal Normal
    • None
    • None
    • None
    • None
    • 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 when using cluster scoped ArgoCD with each namespace added as separate destination using a query parameter ?namespace=xyz appended to the destination server URL. Application controller instances can be scaled say to 10.

      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.
      • Use Parca 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

              rshirur@redhat.com Raghavi Shirur (Inactive)
              anjoseph Anand Francis Joseph
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: