Here's a benchmark comparing pi-hole running on a Pi Zero (with USB ethernet) vs a Pi 3b+.
tl;dr There was negligible performance difference for blocked domains, but a measurable difference in mean for forwarded + cacheable domains. Although the Pi 3b+ has a 11ms better mean response time for forwarded queries, the P95 for pi zero is better in both blocked and forwarded queries.
I would recommend using the Pi Zero.
Prior to the experiment, I assumed that the pi zero would be 30-50% slower in all cases, and that stddev would be larger (worse & more erratic latencies).
Hardware & Setup
Router: TP Link Archer C9 PI 3b+ : connected via 100mb ethernet into router, 32gb sandisk microsd card. Raspbian Desktop Pi Zero-W : connected via usb ethernet adapter, 100mb ethernet into router, 8gb class-4 sd card. Raspbian Lite
I used dnstrace -- a go dns benchmark.
The client was a macbook pro connected via wifi.
Each test did 1000 queries with 10 concurrency (
go run dnstrace.go -c 10 -s 192.168.0.201 -n 100 www.googletagservices.com )
full histogram and results can be found here
BLOCKED Domain www.doubleclick.net
min: 16.252928ms mean: 38.372412ms [+/-sd]: 23.097544ms max: 385.875967ms
DNS timings, 1000 datapoints min: 19.922944ms mean: 40.043544ms [+/-sd]: 7.762346ms max: 71.303167ms
FORWARDED domain www.amazon.com
DNS timings, 997 datapoints min: 13.1072ms mean: 19.527493ms [+/-sd]: 12.101107ms max: 142.606335ms
DNS timings, 999 datapoints min: 16.252928ms mean: 30.097752ms [+/-sd]: 5.005948ms max: 88.080383ms
Summary and Findings
I believe the zero is an adequate replacement for the pi 3b+ . Moreover, I was impressed and shocked that stddev on the pi zero was lower than the 3b+. So despite having worse mean forwarding response times, the P95 for pi zero is better in both blocked and forwarded queries.
:star: I'll leave these two devices online for a bit let me know if you'd like any further testing done. :star:
I've added benchmarks from a wired client to the gist results. The findings above are from the original wireless client.