Is there much performance difference in ad blocking options? - eviltoast

I’m currently using the blocklists included with unbound in opnsense on a mini PC and I have used pihole on a pi which now operates my 3d printers instead. I haven’t tried any of the other network wide options. Has anyone made any blog posts or similar detailing performance testing of different options?

I have an 8 person household with each person having at least a phone and computer and probably some consoles or something. I haven’t noticed any obvious differences but whitelisting seemingly can’t be done in bulk efficiently with my current setup.

We are all going to be moving in the coming months so I am revisiting different aspects of the home network and trying to figure out what can be improved and if anything is irritating enough in it’s current state to tolerate a potential performance loss.

  • dan@upvote.au
    link
    fedilink
    English
    arrow-up
    8
    arrow-down
    2
    ·
    edit-2
    8 months ago

    Performance is usually pretty similar. I use AdGuard Home (mostly for malware blocking) and it stores the cache in RAM, so the only thing that’s potentially slow is the first lookup for a domain. That’s going to be affected by the size of your block list, but it’s likely that all these solutions use hashing to speed it up, meaning it won’t slow down linearly. Once a domain is cached, serving it is very fast. The others work similarly.

    AdGuard Home has an option to serve a stale cached record and refresh it in the background, meaning DNS lookups will practically always be served from RAM, except after you restart it when the RAM cache is empty.

    I also like AdGuard Home because it supports DNS over HTTPS and DNS over TLS, and uses it by default. There’s also a separate piece of software called AdGuardHome-Sync to keep the config in sync between multiple instances. I run two of them (one on a home server in Docker, and one on a Raspberry Pi in Docker) so I can take one down without breaking the internet for my wife.

    • Grass@sh.itjust.worksOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      8 months ago

      I’ll have to look in to that. I really need to look into redundancy for a lot of things actually.

      • dan@upvote.au
        link
        fedilink
        English
        arrow-up
        1
        ·
        8 months ago

        DNS is one of the easiest things to make redundant, since each server runs independently of the others, and clients automatically handle falling back to the other server in case one of them is down (modern OSes will send around half the queries to the primary server and half to the secondary, but they handle outages well too)