-
Notifications
You must be signed in to change notification settings - Fork 281
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
Update dnstest.sh #51
base: master
Are you sure you want to change the base?
Conversation
support of ports. Example: 127.0.0.1:5353#local dnscrypt since we want to test our local dns forwarders, we can translate an usual host:port formula into dig's "-p PORT" formula. also dropping bc, no need, small appliances don't have it.
@gitthangbaby , this doesn't work for me - I added your relevant changed line to my
|
this means the shell is super old.. i don't think i'd like to support it, i am using those expressions on all devices. https://github.com/gitthangbaby/dnsperftest/blob/patch-1/dnstest_random |
random servers etc
@gitthangbaby , that's a great feature in your fork! Now I have evidence that I've done the best with my DNS config (Pi-hole as local resolver with 45.90.30.39 (dns2.nextdns.io) as one of some upstream resolvers (and as a privacy-aware man avoiding google or others) 😃
Much better than querying already cached domains:
|
@gitthangbaby , you should add this by using a parameter ("uncached"/"random"/…) so that both types are featured. @cleanbrowsing , what do you think about this? Plus some |
well, for me it's not fast (and it's not even argument for me to pick it!). |
For this we need and have toolings like this project here or this for regular performance monitoring of different DNS resolvers/providers 😉 So we can choose the fastest one for performance reasons. But you're right: that's not all that is counting…
I'm running a Pi-hole installation at home that gets around 50.000 queries per day (5 persons: mom and dad and three teen-boys heavily surfing on the mobiles, computers, consoles). Somedays 40k, somedays 60k. About half of them are being forwarded to NextDNS:
Because my Pi-hole is very good in caching because I pimped it a little bit 😜
Some infos about this:
Because I also dislike payments, tracing/tracking and ads, malware, phishing etc. I use Pi-hole at home (and when on mobile data via a Wireguard VPN tunnel to my Pi-hole running on a cloudserver). When query limit is reached NextDNS reacts like a normal non-blocking DNS resolver. This is fine for me due to my Pi-hole (sorry for repeating 😉 ).
Just because I'm curious:
This can also be done with Pi-hole and connecting clients with groups/domains and by setting domains/adlists to groups 👍🏻
I think I will adapt this from you to my dnspingtest project… Currently it's more like testing the "usual domains" that are mostly queried in my home network. This really could and should be optimized. Thanks for your inspiration 🎉
Some weeks ago I had an interesting contact with Quad9 support where I confronted them with my performance monitoring:
But this seems to be repeatingly since Sept. 2021: https://www.heise.de/news/DNS-Dienst-Quad9-hat-massive-Lastprobleme-in-Frankfurt-6204506.html (Sorry, german article only. But TL;DR: toooo much queries, overrun by their own success, …) Something got a little bit better, but it's still far away from "nice":
|
The network recorded has 4.000.000 requests per month (exactly the same family "setup") thou many will be cached for sure. |
Ok, I agree: Pi-hole is a little bit less "user-friendly" to nearly achieve what AdGuard delivers out of the box. But requirements are individual for everybody. Pi-hole works for me and AdGuard is your preferred choice. But to get back or closer again to this project:
May I ask for some query times of your setup? As you can see from my links provided before my Pi-hole is serving an average of a little bit above 20ms (mostly cached queries). AdGuard has native DoH/DoT support, hasn't it? Pi-hole hasn't and needs another upstream resolver between itself and "remote upstream" resolvers. But as far as I understood does encryption with DoH/DoT add some overhead and should impact performance rather bad than good (measurable, but maybe not noticeable to users) 🤔
No, how do you come? 🤔
I'm running this project's script on my openSUSE 15.3 (or on my Ubuntu Servers). Pi-hole is running in a docker container on my linux hosts. |
The reason i've put those last lines is to save the data and potentionally analyze it. I don't have that done, i consider it easy-to-do, as it would just parse the file.
I don't have any values close to 20ms like you do, but i can see the values were much higher before I started using DoH and DoT. But it might have been caused by the transfer of DNS from slow router to fast NAS, or changing VPN protocol as well. There is a study about these protocols:
Your bash isn't old much, so i wonder if it's some setting causing string operations not support. I get the error "couldn't get address for" only if running with sh. Or the shebang isn't perfect? |
I think best/perfect shebang is using
|
And many thanks for your insights. When I have some more time (so maybe in some decades when getting retired 😜) I will have a look at AdGuard, too. Or earlier if my current setup won't fit my needs anymore. |
support of ports.
Example:
127.0.0.1:5353#local dnscrypt
since we want to test our local dns forwarders, we can translate an usual host:port formula into dig's "-p PORT" formula.
also dropping bc, no need, small appliances don't have it.