Closed rootwyrm closed 4 years ago
Managed to get one to cache correctly using network_type: host
but under bridge it's still misbehaving. I suspect that Docker bridge is manipulating DNS (since it's designed to play games with DNS for swarm and the like.)
Results with functioning cache on RPi4:
Linux rivermane 5.4.34-0-rpi4 #1-Alpine SMP PREEMPT Wed Apr 22 20:03:53 UTC 2020 aarch64 Linux
[Status] Command line: dnsperf -m tcp -d query-root.txt -T 4 -c 100 -n 100000 -s 10.1.0.82
[Status] Sending queries (to 10.1.0.82)
[Status] Started at: Thu Jul 2 17:59:58 2020
[Status] Stopping after 100000 runs through file
[Status] Testing complete (end of file)
Statistics:
Queries sent: 2600000
Queries completed: 2600000 (100.00%)
Queries lost: 0 (0.00%)
Response codes: NOERROR 2600000 (100.00%)
Average packet size: request 36, response 814
Run time (s): 198.023656
Queries per second: 13129.744458
Average Latency (s): 0.007206 (min 0.000313, max 0.137878)
Latency StdDev (s): 0.016528
Issue only persists when network type is bridge... Docker mangles DNS causing cache miss.
Currently discussing this with the developers on the mailing list; testing is showing that dnsdist is not caching properly under the Docker container. Tagging this as a blocker, as it severely degrades performance on RPi4 - 32qps for dnsdist with pure C++ rules, against a 250,000qps nsd instance.
Cache failure without
+noedns +nocookie
set in dig are covered by: https://github.com/PowerDNS/pdns/issues/5131Does not reproduce on 1.4.0 on FreeBSD;