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

Check that "load balancing" strategy properly selects the fastest upstream more often #3672

Closed
ameshkov opened this issue Sep 27, 2021 · 3 comments

Comments

@ameshkov
Copy link
Member

Check the discussion here: #3601

We need to double-check that it works as it is supposed to.

@ameshkov ameshkov added the needs investigation Needs to be reproduced reliably. label Sep 27, 2021
@ameshkov ameshkov added this to the v0.107.0 milestone Sep 27, 2021
@timkgh
Copy link

timkgh commented Sep 27, 2021

I think a better strategy for the metric would be to do something like this: every 5 min (or some time interval) send a few requests to all servers and keep a count of which one responds fastest, e.g. whichever one gets to 10 (or some number) of fastest responses first. Then that's the server to use for the next 5 min and then repeat the race.
This will ensure that the connections to all servers are kept warm which is important with DoH and DoT connection reuse, we don't want to measure the TLS handshake time, but rather actual response time from the upstreams. Averaging TLS handshake time in the metric is not ideal.

@EugeneOne1
Copy link
Member

We've improved the description of all_servers setting in the wiki.

@EugeneOne1 EugeneOne1 removed the needs investigation Needs to be reproduced reliably. label Dec 15, 2021
@timkgh
Copy link

timkgh commented Dec 15, 2021

@ameshkov @EugeneOne1 This bug was not about documentation but rather that the "load balancing" implementation does not work as expected. Empirical evidence shows that the slower of 2 DNS servers is picked more often.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants