Hacker News new | ask | show | jobs
by asdkhadsj 1479 days ago
What sort of cost is associated with pihole, with respect mostly to very latency sensitive things like competitive gaming. Is it problematic?
6 comments

There should be no cost. Which game will constantly use DNS to resolve addresses after being launched?
I caught a bug related to this in Project Zomboid in an early multiplayer version.

Often when someone joined a server there would be a tiny bit of lag for all of the users.

I figured out the server was using a java method that indirectly was doing a blocking DNS lookup. I think it was reverse DNS but I forget which method it actually was, and if it was blocking the main thread or just the networking thread.

(PiHole still wouldn't have created an additional cost though.)

This issue might relate to Java's URL class equals/hashCode doing DNS lookups which is specified in Javadoc https://docs.oracle.com/javase/8/docs/api/java/net/URL.html#... but reported by various linters such as https://errorprone.info/bugpattern/URLEqualsHashCode
Very likely URL.equals()
My question was meant rhetorically, but I guess there might be some even more interesting exceptions to this out there.
If anything, PiHole might make it go faster because some requests don't go to out in the world, wouldn't it?
That would probably depend on the the cache hit/miss ratio.
No expected impact. If for some insane reason a game is also calling as servers your performance will be improved.

Consider the case of a web page. The content you want (the news article) consists of say 100 get requests totaling 1mb. The content you don’t want (ads) consists of 120 get requests totaling 1.2mb.

When pihole is in use the content you want does not have to contend with adversarial content. You have half as many requests, there’s 50% less data in the pipe, you get what you wanted faster.

Gaming is not impacted because your games don’t call advertising servers. If they did (for some insane reason) the real game requests get served immediately not having to wait in line behind the ad content.

I run it on my NAS computer in a ubuntu server vm. It was 20 minutes to set that up and another 5 to install and point my router's DNS to it. Maintenance is a monthly login, and a biannual update after puttying into the box.

If you want a one-purpose device for it, then you would be looking into buying a SOC computer like a Raspberry PI 3 (should be cheaper than the 4) and about an hour to set it up.

One little thing I have done is set my router's secondary DNS to 1.1.1.1, just in case the power fails or the PI goes down. When I set mine up I completely forgot to set ESXI to auto-power on the VM, so after a brief power outage I had no internet for almost an hour because I had no redundant DNS configured. I got blindsided by my own mistake. Now everything is on a UPS and the VMs are correctly configured in case power is lost long enough to require a shutdown.

https://pi-hole.net/ has more info on the install.

You will not have any extra latency once the DNS resolution is done.

The resolution has to be done a way or another, by default this is your ISP and they usually suck. I had hand-picked DNSes before (there is a utility that tests plenty of them from your connection) and after adding a pihole on a simple RPi it was even faster.

PiHole is just a different DNS server - I would assume that is probably a once on connection kind of thing.
I run two piholes, rackmounted and battery backed (just plugged into a ups).

DNS performance is very fast, better than ISP dns usually.

General web usage is much, much more pleasant.

No issues with gaming.

Any recommendation on hardware piholes? I have a UDM Pro but honestly i don't know how much i trust modifying it at all - i've found Ubiquiti software to be iffy... so i'm a bit hesitant to modify anything.
I run two Pi4s with the filesystem on a usb drive, which is probably a bit overkill but I keep some monitoring on them too. In Unifi Routing, give the piholes a fixed ip and swap your dhcp server to have manual DNS entries - you might need to do this in the classic settings view.
I run mine on a good old fashion rpi for years with a 100% uptime.
I run 2 raspberry pi zeros connected (and powered) to my router as usb network devices both running pihole. I've been running this for years and have had zero issues.
You can run Pihole on any crappy raspberry pi you have around.

I ran mine on a Raspi Model B. You know, the one with the RCA plug and SD card slots. From 2012. At some point the SD was so messed up I couldn't ssh into it any more, but it still worked.

Now Pihole is running on my Thinkcenter minipc as a Socker image along with a good dozen others. I don't have to worry about SD corruption or sudden shutdowns any more.

there will be issues if you play halo. it depends on some telemetry stuff in windows that is typically blocked by this sort of thing.
I've been running a pi-hole for years and played Halo on Windows 10 and had no problems.

If you add a bunch of extra-aggressive blocklists maybe you'll have issues but if you stick with the recommended OOTB lists, you'll be fine.

Played 1 and 2 of the remastered edition, no issues here.