/dnspyre

CLI tool for a high QPS DNS benchmark

Primary LanguageGoMIT LicenseMIT

dnspyre

Release Go version License: MIT Tantalor93 lint goreleaser-check codecov Go Report Card

dnspyre logo

dnspyre is a command-line DNS benchmark tool built to stress test and measure the performance of DNS servers. You can easily run benchmark from MacOS, Linux or Windows systems.

This tool is based and originally forked from dnstrace, but was largely rewritten and enhanced with additional functionality.

This tool supports wide variety of options to customize DNS benchmark and benchmark output. For example, you can:

  • benchmark DNS servers using DNS queries over UDP or TCP
  • benchmark DNS servers with all kinds of query types like A, AAAA, CNAME, HTTPS, ... (--type option)
  • benchmark DNS servers with a lot of parallel queries and connections (--number, --concurrency options)
  • benchmark DNS servers for a specified duration (--duration option)
  • benchmark DNS servers with DoT (DNS over TLS)
  • benchmark DNS servers using DoH (DNS over HTTPS)
  • benchmark DNS servers using DoQ (DNS over QUIC)
  • benchmark DNS servers with uneven random load from provided high volume resources (see --probability option)
  • plot benchmark results via CLI histogram or plot the benchmark results as boxplot, histogram, line graphs and export them via all kind of image formats like png, svg and pdf. (see --plot and --plotf options)

demo

Documentation

For installation guide, examples and more, see the documentation page