[dns-operations] DNS server benchmarking sanity check

Robert Edmonds edmonds at mycre.ws
Mon Aug 15 18:31:24 UTC 2016

Anand Buddhdev wrote:
> By this point, all 20 cpus are at 100% utilisation, so there's no way I
> can get anything better, and performance drops with increasing query
> rates. The only thing to do is to get faster cpus.

It's not necessarily the only hardware improvement — it's also possible
that you could get faster NICs :-) Some proportion of the CPU is
consumed by the NIC driver servicing the NIC device, and it seems that
newer NICs (in the same market segment) generally tend to be more
efficient and cause the NIC driver to consume less CPU for the same
amount of work.

When I was testing Unbound cache hit performance on a small four-core
machine with 1 GbE Intel NICs a few years ago, I found a wide range of
performance results (see attached plot) depending on the exact Intel
controller in use, ranging from the Intel 82572 (launched in 2005, ~400K
q+r/s) to the Intel I350-T2V2 (launched in 2014, ~900K q+r/s), all else
being equal.

It's possible there's a similar performance variation among Intel's
10 GbE NICs, e.g. the now end-of-life 82598 controllers (launched 2007)
vs. the very latest converged 10/40 GbE XL710 controllers (launched

You mentioned up thread that you're testing NICs that use the ixgbe
driver, which is a driver that supports multiple generations of Intel 10
GbE NICs, e.g. see this page for a list:


It'd be interesting (well, at least to me) to compare an ixgbe device
against a 10 GbE member of the 10/40 GbE family, which uses the "i40e"
kernel driver. E.g., the Intel X710-DA2 might be a good candidate. It
costs $367 on Amazon, but it uses direct-attach cabling.

Robert Edmonds

More information about the dns-operations mailing list