Go Report Card Latest release

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

GitHub

View Github