this post was submitted on 29 Aug 2026
366 points (97.4% liked)

Technology

87649 readers
3028 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related news or articles.
  3. Be excellent to each other!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, this includes using AI responses and summaries. To ask if your bot can be added please contact a mod.
  9. Check for duplicates before posting, duplicates may be removed
  10. Accounts 7 days and younger will have their posts automatically removed.

Approved Bots


founded 3 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] stoicmaverick@lemmy.world 15 points 1 day ago (5 children)

I never even thought about this before, but what kind of hardware is a root level DNS server like 1.1.1.1 or quad 8 run on? Are they all roughly the same, or do they take different approaches to the load?

[–] MSids@lemmy.world 3 points 12 hours ago* (last edited 12 hours ago) (1 children)

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 1 points 10 hours ago (1 children)

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 1 points 5 hours 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.

[–] Illecors@lemmy.cafe 18 points 1 day ago* (last edited 1 day ago)

Bit of a nitpick, but these providers are not running root servers. They're just recursive caching servers, probably running unbound.

If you want to find out root servers - dig for . - that's a dot. A full stop. That's the root. Those can then answer where to find your .coms, .nets, etc. Those, in turn, handle the domain you rent; so on and so forth.

[–] Archer@lemmy.world 38 points 1 day ago

Look up how Cloudflare does anycast BGP. They have servers in data centers everywhere and leverage the fact that they can all be 1.1.1.1 so people’s queries only hit the physically closest server, it’s pretty cool

[–] SlurpingPus@lemmy.world 3 points 1 day ago* (last edited 1 day ago)

Most probably off-the-shelf hardware, but with software optimized out the wazoo. Like, reading directly from SSDs instead of using a filesystem. Or more likely using an in-memory database like Redis, perhaps with custom additions.

I knew a guy who went on to work for CloudFlare. Back at that job, he made a write-only static-file storage in Node.js, dumping the contents into a giant file bypassing the filesystem and its metadata overhead. That's the kind of optimization you want — pretty similar to what database engines like MySQL/PostgreSQL do (iirc one of them does in fact support using a plain disk partition for the database).

Back in early-mid 2010s I've read an article on Pornhub's architecture. They ran Redis behind Haproxy load balancers. An in-memory database, behind load balancers. Some people say that it's normal, but I've never had conditions calling for such a thing instead of sharding harder.

[–] GraveyardOrbit@lemmy.zip 2 points 1 day ago (1 children)
[–] stoicmaverick@lemmy.world 1 points 1 day ago (1 children)

Dang. They do it all in one Pizza box. I figured it would be a whole rack per unit.

[–] SlurpingPus@lemmy.world 2 points 21 hours ago

I'm actually surprised that they use some beefy servers. Like, Google famously use shitty and cheap commonplace hardware, but in large numbers, so it's easy to replace when it croaks.