Cloudflare hat durch eine Neugestaltung des Speicherlayouts seiner DNS-Cache-Eintraege rund 100 Terabyte Arbeitsspeicher in seiner globalen Serverflotte frei gemacht, konkret beim DNS-Resolver 1.1.1.1.
Ein Byte kostet 250 Gigabyte
Der Hebel ist die schiere Masse: Cloudflare haelt jederzeit mehr als 250 Milliarden DNS-Eintraege im Cache. Schon ein einziges verschwendetes Byte pro Eintrag kostet damit ueber 250 Gigabyte Flottenspeicher. Fuenf Optimierungen auf Rust-Ebene senkten den Speicherbedarf pro Eintrag um 56 Prozent.
Fixe Slices statt wachsender Container
- Ersatz von Rusts wachsenden Vec- und String-Containern durch feste, geboxte Slices spart allein ueber 15 TB.
- Die drei Record-Listen jeder DNS-Antwort werden in einen Puffer zusammengefasst, adressiert ueber 2-Byte-Offsets.
- Record-Daten werden als laengenpraefixierte Roh-Bytes im Wire-Format gespeichert.
Schneller statt langsamer
Die Einsparung ging nicht zulasten des Tempos. Durch weniger Allokationen und bessere Speicherlokalitaet stieg der Insert-Durchsatz um 43 Prozent, waehrend die Lookup-Latenz um 19 Prozent sank.
Quellen: Golem.de.



















