-
Notifications
You must be signed in to change notification settings - Fork 121
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
Reduce CPU utilization #304
Comments
I think most of the CPU utilization would be due to the reconcilation of machine objects. They get reconciled on every node object update. And a node object is updated every 10-30s due to update on condition checks like - memory, disk, network, readiness. I think we could reduce this reconciliation intervel either at the MCM or on the node level. We can take a call while fixing this issue. |
I think we should also look at the number of goroutines and retry logic. But let's profile first. |
Hi,
But i must admit that i have no idea how this could happen tbh. |
We already have #341, i will try the most recent version as well and report back. |
I doubt that the changes upstream since #341 change any behavior here. I will also have a look for unclosed channels et.al. |
I tried to run https://github.com/golangci/golangci-lint on the code base but failed actually with:
We lint all of our code in CI to prevent obvious bugs, but this kind of problem never occurred. |
We do link check here: https://github.com/gardener/machine-controller-manager/blob/master/.ci/check#L61 , in case it helps. Also, what version of MCM were you rebasing/using? |
We are using master |
Issue
During performance tests, of all the control-plane components, the CPU utilisation of MCM was comparable to kube-apiserver and even more than etcd. This is surprising as MCM is handling at least two orders of magnitude less number of resources when compared to the other control-plane components.
Reducing the CPU utilisation will help improve the scalability of MCM as well as gardener.
Solution
Profile and optimize the CPU utilization of MCM.
The text was updated successfully, but these errors were encountered: