pingerr
Find the most optimal DNS server for your router/machine
pingerr: benchmark 50 plus DNS servers for your network
A DNS benchmarking script that tests more than 50 public resolvers, warms up caches, and reports the median so you can pick a faster DNS for your router or machine.
What pingerr does
pingerr is a comprehensive DNS benchmarking tool that tests more than 50 public DNS servers to find the fastest and most reliable DNS resolver for a network. The README says it is meant to help choose the optimal DNS server for a router or machine. It is written in Shell and released under the Apache License.
Features
The feature list is concrete. It tests 50 plus servers including Google, Cloudflare, Quad9, OpenDNS, and AdGuard. Cache-aware testing uses warmup queries so cached response times are measured accurately. Multiple test iterations run five tests per server by default, configurable with a flag. A DNS-ping correlation analysis measures both query time and network latency, a weighted scoring uses 70 percent DNS and 30 percent ping, results are color-coded, and the script offers ready-to-use primary and secondary DNS suggestions.
How it works
The workflow is three steps. A warmup query primes the server's cache. Five subsequent queries measure cached response time. The median of all measurements gives stable results. The approach measures the actual network latency to each DNS server rather than recursive resolution time, which the README says correlates closely with ping latency.
Configurable options
By default, google.com is used as the test domain, but that can be customized with a flag. The script performs a DNS-ping correlation test to find servers that are both fast at DNS resolution and low in network latency. Users can edit the script to add or remove DNS servers from the server arrays. IPv6 connectivity is detected automatically, with flags to test only IPv6 servers or to skip IPv6 entirely.
Troubleshooting and tips
The troubleshooting section covers the common failure cases. For no results or all servers failing, check the internet connection, verify the firewall is not blocking DNS port 53, and try running with nslookup instead of dig. OpenWRT specific issues mention free RAM and clearing the temp directory. Performance tips suggest running multiple times, testing at different times of day, considering geography since closer servers typically perform better, and checking for ISP restrictions.
Editorial conclusion
The script is a practical tool: warmup, five measurements, median. IPv6 is detected automatically, and the troubleshooting section covers the usual suspects like firewalls and the DNS port.
Community notes