-
Notifications
You must be signed in to change notification settings - Fork 2.8k
perf(source): benchmarks on EndpointTargetsFromServices #5536
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
perf(source): benchmarks on EndpointTargetsFromServices #5536
Conversation
Signed-off-by: ivan katliarchuk <[email protected]>
Signed-off-by: ivan katliarchuk <[email protected]>
|
@AndrewCharlesHay: changing LGTM is restricted to collaborators DetailsIn response to this: Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
Signed-off-by: ivan katliarchuk <[email protected]>
Signed-off-by: ivan katliarchuk <[email protected]>
|
@AndrewCharlesHay: changing LGTM is restricted to collaborators DetailsIn response to this: Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
cc @mloiseleur |
|
/approve |
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: AndrewCharlesHay, mloiseleur The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/lgtm |
What does it do ?
In this PR, I've added a benchmark tests, to showcase bottlenecks described here #5473 (comment)
Motivation
When decided to have a look started
And this comment #5493 (comment)
One of the bottlenecks is in this lines
external-dns/source/endpoints.go
Lines 87 to 110 in 051c900
Basically it does
On top of that, the function EndpointTargetsFromServices actually called from within the loop of all virtual services or any other kubernetes entity like here. This is quite inneficiate....
Benchmark results
Just a hightlight from one of the issues
So this means that there are 3000 * 1000 * (number of selectors), every time there is a reconcile.
Follo-up:
More