godnsbench
A very simple DNS benchmarking tool based on dnsproxy.
How to install
- Using homebrew:
brew install ameshkov/tap/godnsbench
- From source:
go get github.com/ameshkov/godnsbench
- You can get a binary from the releases page.
Usage
Usage:
godnsbench [OPTIONS]
Application Options:
-a, --address= Address of the DNS server you're trying to test. Note, that it should include the protocol
(tls://, https://, quic://)
-p, --parallel= The number of connections you would like to open simultaneously (default: 1)
-q, --query= The host name you would like to resolve (default: example.org)
-t, --timeout= Query timeout in seconds (default: 10)
-c, --count= The overall number of queries we should send (default: 10000)
-v, --verbose Verbose output (optional)
-o, --output= Path to the log file. If not set, write to stdout.
Help Options:
-h, --help Show this help message
Examples
10 connections, 1000 queries to Google DNS using DNS-over-TLS:
godnsbench -a tls://dns.google -p 10 -c 1000
10 connections, 1000 queries for example.net
to Google DNS using DNS-over-TLS:
godnsbench -a https://dns.google/dns-query -p 10 -c 1000 -q example.net
10 connections, 1000 queries for example.net
with timeout 1 second to
AdGuard DNS using DNS-over-QUIC:
godnsbench -a quic://dns.adguard.com/dns-query -p 10 -c 1000 -t 1 -q example.net