piHole cripples internet speed

Hey so I've installed piHole on a raspberry pi zero and the setup was without problem. I then changed my router settings(I got a UDM) from DHCP auto to DHCP manual and entered my piHole as the only
DHCP server. It works, but my internet speed got crippled. before this I had 900/900mbits but now I only get out like 90/90mbits.

I have been reading through other posts and people are stating that the piHole shouldn't cause this. But it's causing this atm. Does anyone know about any solution to be able to use piHole as a dns server without crippling the internet?

Expected Behaviour:

The piHole to work as my DNS-server

-operating system - debian lite
-hardware - raspberry pi zero, UDM

Actual Behaviour:

Cripples the internet speed badly.

Debug Token:


Your debug log looks good, there is no indication of any malfunction.

I can only repeat this: Pi-hole is only involved with DNS resolution. DNS packets are a very tiny amount of all network traffic. Even if it would slow down DNS resolution, it would only slow down the beginning of a connection. Once the DNS->IP resolution has taken place, Pi-hole isn't involved in the connection client -> server any more.

1 Like

Hm alright, thanks for the response. Then I really don't know what to do.

How are you determining that speeds are reduced?

Hey, I haven't done any real tests. It's more that the most common "user-friendly" speedtests, usch as
https://www.speedtest.net/ states that it's 90/90 and yesterday they were 900/900. So it just makes me concerned. Do you mean that it might be a bug in those test?

Check the remote server when you are doing the tests. See if the tests put you on a distant server when Pi-hole is running and a close server when it's not. Speedtest.net uses geolocation to route you to a near server to give you higher results and Pi-hole can cause that geolocation to fail and you end up with a remote test server that is not optimal.

You can also try with something like dlsreports.com speedtest that is more accurate.

Okey, I have done the speedtest within the Unifi Controller as well, and it states the same.

You'll need to expand on that and tell us what "the same" is.

oh sorry. It gives the same output of 90/90mbits. aka the same as the online speedtests.

What is it using to do speedtests? Is it also using the Pi-hole DNS? Does it show high speeds without Pi-hole?

The only way for Pi-hole to slow down your network is if you've set up something to route all traffic via the Pi-hole server. Pi-hole only handles DNS queries, there is no way for it to slow down the internet connection at all, it doesn't see or handle any traffic other than DNS queries.

1 Like

Okay, I'm very confused now. I wanted to show you the difference. so I turned off the manual DHCP server on my UDM and chose auto, aka it does not go through the piHole. It then gave me 900/900. Then I changed back to the manual DHCP(via the piHole IP) and now I'm achieving 900/900 through the piHole also. I have not idea what's going on, but now it works at least.

A question though, what happens if my raspberry pi would die or the SD card would give up? Will my network keep on working without a DNS server. Or should I "secure" it by entering for instance googles DNS as DHCP server 2 as backup?

No, it will not.

You should not. Any DNS server available to clients is liable to be used at any time, resulting in DNS traffic bypassing Pi-hole.

One way to increase reliability (if you have problems keeping your Pi-hole running) is to add a second instance of Pi-hole on a different device or on a device that is already running 24/7 (a NAS, for example).

Then you would enter the IP's for each Pi-hole in the DHCP settings on your router. If either Pi-hole fails, the other continues serving the entire network with no network downtime.


Oh ok, thanks a lot for the information!

Alright I got one more question. three nights in a row now I have got piHole to work without any problem. But every morning my network isn't working. I get the "Can't reach the primary DNS" error of windows. So then I have to remove the piHole as DHCP server and then add it again. Any clue how and why this happens?

It works fine during the day when my main computer is active, but at night when no devices are being used it seems to stop working?

Your pihole doesn't necessarily have to be your DHCP server. You can just continue using your router's DHCP server an advertise pihole's IP as DNS server IP. That way all clients can be in DHCP auto mode and use pihole as DNS.
Other advantage is that you still have a DHCP on your network, when Pihole is down.

Hm, sorry but im a complete noob when it comes to network. But as I understand it, in the unifi controller you can only setup a DNS server via the DHCP server settings?

Or do you mean the setup the DNS under wan? https://puu.sh/Ibvzx/5e4bad8357.png