eö.
← All projects
PROJECT / 2026

DNS, measured properly.

A resolver benchmark that keeps the workload fair and the results transparent. Portable Bash, with a native Rust implementation.

RustBashDNS
DNS BENCHMARK
QUERY→RESOLVER
MEDIAN · P95 · P99 · SUCCESS RATE

The idea

A few lookups are not enough to choose a DNS resolver. Query order, caching, failures and the network path all affect the result.

What it does

  • Queries resolver IP addresses directly, using the same domains across resolvers before moving to the next domain.
  • The Bash implementation reads query timing from dig. The Rust implementation uses Tokio and hickory-proto for UDP queries and wall-clock timing.
  • Reports success rates, timeouts, median and tail latency, alongside per-query CSV and structured summaries.
  • Includes configurable duration, concurrency, resolver lists and domain lists.