Page History
...
Tool | UDP | TCP | TLS | Pipelining | Uses query file | Replay pcaps | Comments |
---|---|---|---|---|---|---|---|
dnsperf from Nominum | Y | N | N | N | Y | N | https://www.nominum.com/measurement-tools/ |
resperf from Nominum | Y | N | N | N | Y | N | For testing resolvers |
dnsperf-tcp | Y | Y | N | Y | Y | N | https://github.com/Sinodun/dnsperf-tcp |
dnsperf-tls | Y | Y | Y | Y | Y | N | https://github.com/Sinodun/dnsperf-tcp/tree/feature/tls_openssl. A re-factor was required to accomodate TLS usage within the threading model used here and we believe this introduces a performance overhead at very low queries per connection (below 500). This is being investigated. |
tcpscaler | Y | Y | Y | Y | Y | N | https://github.com/jonglezb/tcpscaler |
perftcpdns | N | Y | N | N | Y - in hex format | N | A performance testing tool for DNS over TCP, available in the contrib directory of all recent versions of BIND9 |
queryperf++ | Y | Y | N | N | Opensource framework for testing DNS servers that uses both UDP and TCP: https://github.com/jinmei/queryperfpp | ||
Drool | Y | Y | N | ? | Y | Y | drool can replay DNS traffic from packet capture (PCAP) files https://github.com/DNS-OARC/drool |
dns-benchmarking/ | Y | N | N | N | Y | ? | https://gitlab.labs.nic.cz/knot/dns-benchmarking/tree/master |
ISC Performance lab | Y | N | N | N | Y | ? | https://github.com/isc-projects/perflab |
...
Work on Tsung
After further work on Tsung
we concluded that peak traffic generation for single client instance of 30k clients was limited to 100kqps, as discussed below. This would mean many client VM's would be needed to achieve moderate DNS traffic levels. We suspect the fundamental reason behind this is twofold:
...
So, the problem is that we're unable to use Tsung
to generate baseline performance numbers to compare with existing numbers. While it might (after some work) be useful for real-life type scenarios, there are concerns about how well it will scale horizontally (though that may well be the dynamic variable issue above). The original author does designed for many parallel runs of complex sessions - so, probably good for real life tests, but a problem if you're trying to establish a baseline of maximum queries a server can handle.