• MSids@lemmy.world
    link
    fedilink
    English
    arrow-up
    2
    ·
    9 hours ago

    In a previous role at an Internet provider, I was the network engineer in charge of the Anycast DNS cache servers. The company made it some sort of point of pride to buy the cheapest hardware possible. I guess that is the beauty of anycast, failure recovery is pretty much automatic.

    Anyways, the servers were dead cheap, single power supply, single SSD. They ran BSD, but my system engineer and I wanted to convert them to Linux, so we ran a proof of concept for switching. We ran performance tests against the same server hardware with BSD and with Ubuntu, I think we saw loss on the BSD server at 325k QPS and Ubuntu made it closer to 500k QPS. Oh, we had like 16 of these caches and our peak load network wide across all of them was something like 36k QPS.

    It was a pretty cool setup. If I am remembering correctly we used unbound, ExaBGP, IPTables, and a health check script that would trigger the advertisements to our core network. Although we really wanted to switch to Linux (or rather away from BSD), we were primarily driven by the fact that Cisco IOS-XR does not support DNS query IP SLA tests, which we used previously to trigger the route advertisements.

    • stoicmaverick@lemmy.world
      link
      fedilink
      English
      arrow-up
      1
      ·
      6 hours ago

      Cool. What is the file size of the DNS database being quarried with each request anyway? My knee jerk assumption is that it’s like a petabyte, but the longer I think about it, the smaller it gets.

      • MSids@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 hour ago

        I actually don’t remember, I was mainly focused on the BGP configurations and data collection for presenting to our leadership. I think unbound allowed you to configure the cache size. Our servers were just cache servers, so if they did not have a record the server would just recurse the request.