DNS Advanced Capabilities
Performance & concurrency
net-benchmark dns benchmark \
--max-concurrent 200 \
--iterations 5 \
--timeout 3.0 \
--warmup
Async I/O with dnspython — test 100+ resolvers simultaneously
Trio framework support — high-concurrency async operations
Configurable concurrency —
--max-concurrentRetry logic — exponential backoff for failed queries
Cache simulation —
--use-cacheMulti-iteration benchmarks —
--iterations NWarmup phase —
--warmup/--warmup-fastStatistical analysis — mean, median, P95, P99, jitter, consistency scores
Best practices
Mode |
Recommended flags |
Purpose |
|---|---|---|
Quick Run |
|
Fast feedback, minimal retries, lightweight warmup |
Thorough Run |
|
Multiple passes, cache enabled, full warmup |
Debug Mode |
|
Long timeout, no retries, minimal output |
Balanced Run |
|
Middle ground |
Security & privacy features
# Test DoH resolvers
net-benchmark dns benchmark \
--doh \
--resolvers doh-providers.json \
--dnssec-validate
DNSSEC validation — verify cryptographic trust chains
DNS-over-HTTPS (DoH)
DNS-over-TLS (DoT)
DNS-over-QUIC (DoQ) — experimental
TSIG authentication (coming soon)
EDNS0 support
Enterprise & migration features
# Validate DNS migration
net-benchmark dns benchmark \
--resolvers old-provider.json,new-provider.json \
--output migration-report/ \
--formats pdf,excel
Zone transfers (AXFR/IXFR) (coming soon)
Dynamic DNS updates (coming soon)
EDNS0 support — extended DNS options, client subnet, larger payloads
Windows WMI integration — auto-detect active system DNS settings
Compliance reporting — generate audit-ready PDF/Excel reports
SLA validation — track uptime and performance thresholds
Analysis & reporting features
# Detailed analysis
net-benchmark dns benchmark \
--use-defaults \
--domain-stats \
--record-type-stats \
--error-breakdown \
--formats csv,excel,pdf
Per-domain statistics
Per-record-type stats — compare A, AAAA, MX, TXT, etc.
Error breakdown — categorize and count error types
Comparison matrices — side-by-side resolver comparisons
Trend analysis — performance over time (with multiple runs)
Best-by-criteria — find best resolver by latency/reliability/consistency
Internationalization & compatibility
# Test internationalized domains
net-benchmark dns benchmark \
--domains international-domains.txt \
--record-types A,AAAA,MX \
--resolvers custom-resolvers.json
IDNA support (coming soon)
Multiple record types — A, AAAA, MX, TXT, CNAME, NS, SOA, PTR, SRV, CAA
Cross-platform — Linux, macOS, Windows
CI/CD integration — JSON output, proper exit codes, quiet mode
Performance optimization
# Large-scale testing (1000+ queries)
net-benchmark dns benchmark \
--resolvers data/many_resolvers.json \
--domains data/many_domains.txt \
--max-concurrent 50 \
--timeout 3 \
--quiet \
--formats csv
# Unstable networks
net-benchmark dns benchmark \
--resolvers data/backup_resolvers.json \
--domains data/critical_domains.txt \
--timeout 10 \
--retries 3 \
--max-concurrent 10
# Quick diagnostics
net-benchmark dns benchmark \
--resolvers "1.1.1.1,8.8.8.8" \
--domains "google.com,cloudflare.com" \
--formats csv \
--quiet \
--timeout 2
Troubleshooting
# Command not found
pip install -e .
python -m net_benchmark.dns_benchmark.cli --help
# PDF generation fails (Ubuntu/Debian)
sudo apt-get install libcairo2 libpango-1.0-0 libpangocairo-1.0-0 \
libgdk-pixbuf2.0-0 libffi-dev shared-mime-info
# Or skip PDF
net-benchmark dns benchmark --use-defaults --formats csv,excel
# Network timeouts
net-benchmark dns benchmark --use-defaults --timeout 10 --retries 3
net-benchmark dns benchmark --use-defaults --max-concurrent 25
Debug mode:
# Verbose run
python -m net_benchmark.dns_benchmark.cli benchmark --use-defaults --formats csv
# Minimal configuration
net-benchmark dns benchmark --resolvers "1.1.1.1" --domains "google.com" --formats csv
Upcoming features
Flag |
Description |
|---|---|
|
AXFR/IXFR zone transfer testing |
|
TSIG-authenticated queries |
|
Internationalized domain name support |