Net-benchmark v0.5.0: DNS + HTTP Benchmarking CLI — SSL Coming in v0.6.0

From DNS to Full Network Benchmarking

Six months ago I released dns-benchmark-tool — a CLI to benchmark and compare DNS resolvers. It grew to over 14,000 installs across 100+ countries with zero marketing, driven entirely by word of mouth and community sharing.

That traction gave me a clear signal: developers, SREs, and infrastructure engineers need better visibility into what's actually happening at every layer of a network request — not just DNS.

Today I'm releasing its successor: net-benchmark v0.5.0.

What Changed

The old dns-benchmark-tool package is archived. Everything it did is fully preserved in net-benchmark — all existing commands and flags remain compatible. It's a drop-in successor, not a rewrite.

# Old
pip install dns-benchmark-tool

# New
pip install net-benchmark

The new org repo lives at:

github.com/net-benchmark/net-benchmark

What's New in v0.5.0: HTTP Benchmarking

The biggest addition is a full HTTP benchmarking suite under the same CLI — same command patterns, same export formats.

What it measures per request

  • DNS → TCP → TLS → TTFB → TTLB — full timing breakdown at every layer
  • Security header audit — HSTS, CSP, X-Frame-Options, X-Content-Type-Options
  • CDN fingerprinting — detects Cloudflare, Fastly, Akamai, Google
  • TLS certificate capture — expiry, CN, issuer, SANs
  • Auth support — Basic, Bearer, API keys, mTLS, proxy, SNI override
  • Assertions — status code, body contains, max latency, content-type, response size
  • Redirect chain — with per-hop timing
  • HTTP/2 downgrade detection
  • Cache header analysis — Cache-Control, ETag, Last-Modified, Age

Quick start

pip install net-benchmark

# HTTP benchmark
net-benchmark http benchmark \
  --targets "https://www.github.com,https://www.gitlab.com,https://www.google.com,https://www.bing.com,https://www.cloudflare.com" \
  --iterations 3 \
  --formats csv,excel

# Compare two endpoints
net-benchmark http compare github.com gitlab.com \
  --iterations 3 \
  --show-details

# Top endpoints by performance
net-benchmark http top \
  --targets "https://www.github.com,https://www.gitlab.com" \
  --limit 3 --metric ttfb

# Continuous monitoring
net-benchmark http monitoring \
  --targets "https://www.google.com,https://www.bing.com" \
  --interval 10 --duration 60 \
  --alert-latency 200 --alert-failure-rate 5

If you know the DNS commands, you already know HTTP — same patterns throughout.

DNS: Everything Still Works

All DNS commands remain unchanged. DoH, DoT and DNSSEC validation are still first-class features:

# DoH benchmark
net-benchmark dns benchmark \
  --resolvers "Cloudflare,Google" \
  --domains "bing.com,google.com" \
  --doh \
  --doh-url "https://cloudflare-dns.com/dns-query,https://dns.google/dns-query" \
  --iterations 3 \
  --formats excel \
  --output ./doh_bench_results

# DoT with DNSSEC on signed domains
net-benchmark dns benchmark \
  --resolvers "Cloudflare,Quad9" \
  --domains "cloudflare.com,quad9.net" \
  --dot \
  --dnssec-validate

# Monitor with alerting
net-benchmark dns monitoring \
  --use-defaults \
  --interval 5 \
  --duration 20 \
  --alert-latency 100 \
  --output ./dns_monitoring.log

Export Formats

Everything exports to CSV, Excel, PDF, and JSON — same as before, now covering both DNS and HTTP results.

What's Coming in v0.6.0: SSL Certificate Checking

The next release adds SSL certificate checking — expiry monitoring, chain validation, issuer verification — all from the same CLI. This completes the DNS → HTTP → SSL pipeline in a single binary.

Why I Built This

Most HTTP benchmarking tools give you one number. That hides where the time actually goes. A 400ms response time could be 300ms of DNS resolution, 80ms of TLS handshake, and 20ms of actual server processing. net-benchmark shows you all of it.


If you like my content, please consider buying me a coffee.
Thank you for your support!

Related posts