Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: resource and concurrency settings #2872

Merged
merged 8 commits into from
Oct 29, 2024

Conversation

krancour
Copy link
Member

@krancour krancour commented Oct 29, 2024

This PR is a bundle of resource utilization and concurrency improvements @hiddeco and I agreed on after extensively troubleshooting #2544 and #2836 with @wmiller112.

  • Sets GOMAXPROCS on all components to match (explicit or implicit) CPU limit on the container. i.e. GOMAXPROCS = cores available rounded up to the nearest integer. This prevents Go from backing goroutines with a number of OS threads exceeding the number of cores available, which is a condition that results in losing compute time to avoidable context switches. This value is logged at startup for all components to assist in troubleshooting efforts when necessary.

  • Sets GOMEMLIMIT (soft memory limit) on all components to match (explicit or implicit) memory limits on the container. This help Go to optimize GC. This value is logged at startup for all components to assist in troubleshooting efforts when necessary.

  • Allows MaxConcurrentReconciles to be set on a per-reconciler basis in both the controller(s) and management controller. There is a default of four for each. For Warehouses especially, the ability to tune this parameter may help decrease wait times for reconciliation of Warehouses overall when some Warehouses, due either to their configuration or to rate limits, take a long time to reconcile. The maximum number of concurrent reconciles for is logged at startup for all reconcilers to assist in troubleshooting efforts when necessary.

Copy link

netlify bot commented Oct 29, 2024

Deploy Preview for docs-kargo-io ready!

Name Link
🔨 Latest commit 7b0a143
🔍 Latest deploy log https://app.netlify.com/sites/docs-kargo-io/deploys/67214ecf3118520008490f4c
😎 Deploy Preview https://deploy-preview-2872.docs.kargo.io
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify site configuration.

Copy link

codecov bot commented Oct 29, 2024

Codecov Report

Attention: Patch coverage is 0% with 85 lines in your changes missing coverage. Please review.

Project coverage is 49.95%. Comparing base (5366f30) to head (7b0a143).
Report is 3 commits behind head on main.

Files with missing lines Patch % Lines
...nal/controller/management/namespaces/namespaces.go 0.00% 13 Missing ⚠️
internal/controller/warehouses/warehouses.go 0.00% 10 Missing ⚠️
cmd/controlplane/controller.go 0.00% 9 Missing ⚠️
cmd/controlplane/management_controller.go 0.00% 9 Missing ⚠️
...ller/management/serviceaccounts/serviceaccounts.go 0.00% 9 Missing ⚠️
...nternal/controller/management/projects/projects.go 0.00% 8 Missing ⚠️
internal/controller/promotions/promotions.go 0.00% 6 Missing ⚠️
internal/controller/stages/control_flow_stages.go 0.00% 6 Missing ⚠️
internal/controller/stages/stages.go 0.00% 6 Missing ⚠️
internal/controller/options.go 0.00% 3 Missing ⚠️
... and 3 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2872      +/-   ##
==========================================
- Coverage   50.09%   49.95%   -0.14%     
==========================================
  Files         275      275              
  Lines       24427    24493      +66     
==========================================
  Hits        12236    12236              
- Misses      11521    11587      +66     
  Partials      670      670              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

charts/kargo/values.yaml Outdated Show resolved Hide resolved
Signed-off-by: Kent Rancourt <[email protected]>
Signed-off-by: Kent Rancourt <[email protected]>
Signed-off-by: Kent Rancourt <[email protected]>
Copy link
Contributor

@hiddeco hiddeco left a comment

Choose a reason for hiding this comment

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

💯

@krancour krancour added this pull request to the merge queue Oct 29, 2024
Merged via the queue into akuity:main with commit f30f66b Oct 29, 2024
15 of 17 checks passed
@krancour krancour deleted the krancour/maxprocs branch October 29, 2024 23:25
fykaa pushed a commit to fykaa/kargo that referenced this pull request Nov 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants