Hi, I am using a Raspberry Pi 1.
The local DNS requests from LAN are answered from cache between 3-6 ms.
The local DNS request from LAN wich are forwarded to external DNS-Servers with DNS over TLS (with stubby) needs about 300-500ms, it's depend on how far is the requested DNS-Server is away (Hops) and how fast is it.
In my opinion it has no effect on slower loading web-pages.
I run one PiHole on a 3B+, and another on a Zero W. No difference in DNS performance that I can tell. Each runs on a Sandisk 32 GB card with Raspbian Stretch, and each runs unbound as the local resolver.
The biggest difference I note is the speed of the VNC interface - snappy on the 3B+, leisurely on the Zero W.
The 3B+ is wired to router, the Zero W is wireless. Doesn't appear that the connection type makes any difference, but I have good wifi everywhere.
I’m using one of the early shipments of Raspberry Pi, version B (square corners) Revision 3 computers that has 256 MB of RAM and a Single-core 700Mhz BCM2835 CPU as a pi-hole.
It isn’t bad at doing the DNS filtering, no problems there. It does suffer slowdowns when you access via VNC or the web server for the dashboard and other simple pages. Looking at longer more complicated pages and queries slows the Pi B to a crawl or can render it unresponsive.
The later revisions of the B (round corners) have 512 MB, double the rev 3 RAM, and should be a lot better for your pi-hole.
I am not familiar with the details of the RPi family tree, but the board I am using was the first B type that went to manufacturing. It has 256K memory. The desktops that came with the early distros ran miserably slow so I tried using it as a headless mpd client. It sort of worked but there was often dropouts and/or buzzes that made it unfit for use. It was no better with music distros like Volumio and the like. It didn't want to work as a web camera server either. The USB implementation was a little wonky in some of the first boards. So, since 2011, this board mostly sat unused. Then I discovered PiHole. This board not only runs PiHole with AdBlocker but also is running a DHCP server and an NTP server for my network. Not to mention the web server for the browser interface. And it does so comfortably with an average CPU of about 33% and temperature of 48'. Finally found its calling. Just don't think about using VNC and playing with pictures. If it's not covered in the browser interface, then one needs to use ssh and the command line. Upgrading pegs the CPU at 100%, so it needs to be done during periods of light load and it does take a while. Otherwise, it just hums along doing what it does quite happily.
Two Pi-Holes in parallel provide redundancy. Each is configured the same (blocklists, black/white/regex lists), on different IP's on the network. The router has the IP of each Pi-Hole listed as DNS servers. Each of the Pi's is on a different UPS, so they can withstand a power outage along with the router, modem and switch.
I list the 3B+ first, and the ZeroW second. With my router and clients (mostly Apple stuff), almost all the DNS traffic goes to the 3B+ (which is listed first). If that Pi is down for updates, reboot, etc, then the Zero W picks up all the traffic and when the first Pi-Hole returns the traffic moves back to that.
In the last 24 hours, the 3B+ got 11,800 queries and the Zero got 67.
Do you have a script or other method of automatically syncing the settings between the Pi-Holes?
Interestingly, and disappointedly, my router only has one DNS server field for the LAN. The WAN has two, but if I change them to point to the Pi-Hole (which works), my internet won't come back up upon reboot unless I let the router find the ISP's servers automatically.
I will probably flash DD-WRT onto my router fairly soon, which should eliminate this issue.
No script. I don’t make local black/white/regex changes very frequently. When I do I just change both. The subscribed block lists update automatically by default.
[EDITED] - I see you use your Apple router for DHCP. I tried using my router for DHCP instead of my Pi-Hole and it didn't make a difference. I'm not sure why I can't get my router to use a second DNS server when I take my Pi-Hole down. Will keep playing with it.
–--–--– @jfb – question; are either of your Pi-Hole's providing DHCP to your network?
As a test, to see if your setup might work for me, I set my DNS servers to my Pi-Hole with Cloudflare as a backup. But I get no DNS when I take my Pi-Hole offline. The Pi-Hole is providing DHCP, so I'm wondering if this could be the issue.
Given the use cases we discussed in the other thread. I'm thinking of configuring a second Pi-Hole using Cloudflare as both a backup and also to serve DNS to my VPN clients when on the local network.
No. But, you configure your Pi-Holes to each provide DHCP on non-overlapping ranges, and have each Pi-Hole advertise both itself and the other Pi-Hole for DNS.
Understood. This was just to test the concept. I would eventually run two Pi-Holes.
I wasn't able to get Pi-Hole with a Cloudflare backup to work on my router. When I took down my Pi-Hole, instead of using Cloudflare, there was no DNS resolution at all.
I am going to flash a spare router with DD-WRT and see if I can get it to behave the way I want and if so, then I'll move forward with two Pi-Holes.
So, my question is, even if pi hole will run on anything, what if any performance issues will other systems connected to the network see since we are adding a whole new system for the network traffic to go through?