Skip to content

Conversation

alexmt
Copy link
Collaborator

@alexmt alexmt commented Sep 21, 2021

Signed-off-by: Alexander Matyushentsev AMatyushentsev@gmail.com

Application controller uses argo.GetAppProjectByName method to get application project object that includes "global" project restrictions and project scoped repo/clusters. This logic might be CPU-consuming if Argo CD installation has a lot of repositories/clusters. Our internal dev Argo CD has ~300 repos and consumes 4.5 CPU. PR implements project caching (cache is reset every time when any repo/cluster or project changes). This reduces CPU usage in the same dev Argo CD instance to ~0.05 CPU

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
Copy link
Contributor

@mayzhang2000 mayzhang2000 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@alexmt alexmt merged commit 3799d70 into argoproj:master Sep 21, 2021
@alexmt alexmt deleted the proj-cache branch September 21, 2021 19:20
plakyda-codefresh pushed a commit to plakyda-codefresh/argo-cd that referenced this pull request Sep 28, 2021
…rgoproj#7274)

Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
Signed-off-by: viktorplakida <plakyda1@gmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants