Port: 15555 | Image: blocky:bench
All queries resolve from server cache — measures peak throughput.
| Provider | QPS | Avg (ms) | Lost % | Total Qrys | Base Mem (MB) |
|---|---|---|---|---|---|
| Quad9 | 932.72 | 97.78 | 0.20 | 28123 | 32.44 |
| Cloudflare | 802.31 | 100.45 | 0.51 | 24269 | 37.56 |
| 929.89 | 98.44 | 0.17 | 28083 | 34.33 | |
| OpenDNS | 909.27 | 96.06 | 0.27 | 27536 | 33.64 |
| Quad9 | 896.22 | 97.67 | 0.28 | 27043 | 35.07 |
| Cloudflare | 897.98 | 99.88 | 0.24 | 27093 | 31.92 |
| 931.74 | 95.88 | 0.22 | 28272 | 33.74 | |
| OpenDNS | 954.16 | 97.19 | 0.15 | 28846 | 33.62 |
Every query requires full upstream resolution — measures worst-case performance. In common-denominator mode some servers report near-zero QPS when plain-DNS upstream forwarding fails.
| Provider | QPS | Avg (ms) | Lost % | Total Qrys | Base Mem (MB) |
|---|---|---|---|---|---|
| Quad9 | 199.42 | 102.30 | 0.11 | 6000 | 33.11 |
| Cloudflare | 199.25 | 101.20 | 0.19 | 6000 | 38.56 |
| 199.46 | 102.59 | 0.09 | 6000 | 35.95 | |
| OpenDNS | 199.22 | 103.67 | 0.19 | 6000 | 33.57 |
| Quad9 | 82.50 | 214.42 | 11.60 | 2887 | 39.43 |
| Cloudflare | 199.52 | 105.85 | 0.06 | 6000 | 36.82 |
| 199.47 | 99.35 | 0.10 | 6000 | 38.61 | |
| OpenDNS | 199.49 | 102.89 | 0.07 | 6000 | 36.07 |
90% cached + 10% unique domains — simulates real-world mixed workload.
| Provider | QPS | Avg (ms) | Lost % | Total Qrys | Base Mem (MB) |
|---|---|---|---|---|---|
| Quad9 | 896.13 | 96.60 | 0.33 | 27054 | 34.85 |
| Cloudflare | 916.28 | 94.12 | 0.31 | 27654 | 35.98 |
| 912.17 | 98.22 | 0.22 | 27731 | 36.72 | |
| OpenDNS | 939.70 | 98.97 | 0.16 | 28372 | 36.05 |
| Quad9 | 941.25 | 97.38 | 0.17 | 28377 | 40.69 |
| Cloudflare | 926.42 | 97.50 | 0.22 | 27940 | 34.20 |
| 929.53 | 95.83 | 0.21 | 28311 | 37.43 | |
| OpenDNS | 983.97 | 93.44 | 0.16 | 29722 | 37.36 |
Domains on the sinkhole blocklist — measures filtering throughput.
| Provider | QPS | Avg (ms) | Lost % | Total Qrys | Base Mem (MB) |
|---|---|---|---|---|---|
| Quad9 | 928.68 | 97.18 | 0.22 | 28013 | 35.29 |
| Cloudflare | 856.71 | 98.48 | 0.41 | 25902 | 41.28 |
| 872.71 | 101.42 | 0.14 | 27884 | 40.21 | |
| OpenDNS | 953.02 | 94.84 | 0.20 | 28870 | 34.98 |
| Quad9 | 395.00 | 105.21 | 2.49 | 14014 | 42.81 |
| Cloudflare | 949.44 | 94.44 | 0.22 | 28634 | 35.91 |
| 865.76 | 98.81 | 0.32 | 26436 | 39.43 | |
| OpenDNS | 859.35 | 100.00 | 0.24 | 27032 | 34.95 |
This server uses DoH for best-of-breed mode. Comparisons against servers using different protocols (DoH, DoT, plain) partly reflect protocol overhead. The common-denominator mode forces all servers to plain UDP 53 to isolate server-side performance.
Before each scenario, a 5-second dnsperf warmup pass is run
to stabilize connections and fill the TCP congestion window. For
cache-hit and mixed scenarios, the server cache is also pre-warmed.
The measurement window (-l 30) begins only after both
warmup phases complete.
dnsperf -l 30 -c 10 -q 100 -Q 5000 -S 1