Cloudflare gibt durch fünf Rust-Code-Optimierungen etwa 100 TB Speicher frei, ohne einen einzigen Server hinzuzufügen

📅 2026-08-30

Zusammenfassung:

Cloudflare hat kürzlich den Cache-Speicher, der von seinem öffentlichen DNS-Resolver 1.1.1.1 verwendet wird, erheblich reduziert und so etwa 100 TB Speicher im gesamten Netzwerk freigegeben. Diese Optimierung erfordert nicht den Austausch von Serverhardware oder das Entfernen von Speichermodulen, sondern wird durch eine Verbesserung der Softwarespeichermethode zum Zwischenspeichern von DNS-Daten erreicht.

Diese Arbeit dreht sich hauptsächlich um die Big Pineapple. Big Pineapple ist die Caching-Plattform von Cloudflare, die den 1.1.1.1-Resolver, die DNS-Firewall und viele andere DNS-Dienste unterstützt. Cloudflare-Systemingenieur Sebastiaan Neuteboom stellte in einem technischen Blog fünf Anpassungen an der Rust-Codebasis vor, die den von einem einzelnen typischen DNS-Cache-Eintrag belegten Platz von 953 Byte auf 420 Byte reduzierten.

Die optimierte Systemlaufgeschwindigkeit wurde ebenfalls verbessert. Laut Cloudflare stieg der Cache-Einfügedurchsatz von 625.000 Elementen pro Sekunde auf 893.000 Elemente pro Sekunde und die Abfragelatenz sank von 828 Nanosekunden auf 670 Nanosekunden. Im Verlauf der Bereitstellung von Mitte Mai bis Anfang Juli sank die 99. Perzentil-Speichernutzung pro Instanz von 9,3 GB auf 5,3 GB.

Cloudflare behauptet, dass Big Pineapple ständig mehr als 250 Milliarden DNS-Einträge zwischenspeichert. Bei solch einem großen Maßstab summiert sich selbst eine winzige Menge an verschwendetem Speicher pro Datensatz zu einer erheblichen Menge. Das Unternehmen schätzt, dass für jedes unnötige Byte, das in einem Cache-Eintrag belegt wird, der gesamte Servercluster mehr als 250 GB zusätzlichen Speicher verbraucht.

Eine der wichtigen Änderungen betrifft die Typen Vec und String in Rust. Diese Container sind so konzipiert, dass sie sich dynamisch erweitern, sodass neben den eigentlichen Daten auch zusätzliche Informationen wie die Kapazität gespeichert werden. Allerdings muss der DNS-Eintrag nach der Eintragung in den Cache nicht erweitert werden. Cloudflare ersetzte diese Strukturen dann durch Boxed Slices fester Größe und entfernte Metadaten, die nicht mehr nützlich waren. Nach Angaben des Unternehmens wurden allein durch diese Anpassung mehr als 15 TB Speicher eingespart.

Die Ingenieure haben auch die Art und Weise neu gestaltet, wie DNS-Antworten im Speicher angeordnet werden. Bisher speicherte Big Pineapple für jede Antwort drei Sätze Datensatzlisten. Das neue Design legt alle Datensätze im gleichen Puffer ab und verwendet dann einen Zwei-Byte-Offset, um den Speicherort jedes Datensatzes zu identifizieren.

Der Cache behält jetzt auch nicht mehr Besitzernamen bei, wenn es sich lediglich um Duplikate des abgefragten Domänennamens handelt, sondern wird stattdessen neu erstellt, wenn die Antwort zurückgegeben wird. Darüber hinaus speichert das System Datensatzdaten stattdessen mithilfe von rohen Bytes im DNS-Zeilenformat mit einem Längenpräfix, wodurch das Problem der Platzverschwendung in früheren Designs gelöst wird. Zuvor belegte ein IPv4-A-Eintrag, der nur 4 Bytes belegte, 144 Bytes, ebenso wie der relativ seltene NAPTR-Eintrag, der größte von Cloudflare zwischengespeicherte DNS-Eintragstyp. Durch die Umstellung auf ein Rohdatenformat mit variabler Länge entfällt die Notwendigkeit, dass kürzere Datensätze denselben Platz wie die längsten Datensätze reservieren.

Die 100 TB Speicher, die Cloudflare im gesamten Servercluster zurückgewonnen hat, entsprechen in etwa der Speicherkapazität von 130 Servern der 13. Generation. Jeder dieser Server ist mit 768 GB DDR5-6400-Speicher ausgestattet. Cloudflare erwog eine 1152-GB-Speicherkonfiguration für diese Servergeneration, gab jedoch letztendlich auf, nachdem die Kosten für Speicher mit höherer Kapazität geprüft wurden.

Mit diesem Speicherplatz plant Cloudflare, die DNS-Cache-Größe zu erweitern. Es wird erwartet, dass die lokale Aufbewahrung von mehr Datensätzen die Cache-Trefferraten verbessert und den Anforderungsverkehr an autorisierende DNS-Server reduziert.

Dies ist nicht das erste Mal, dass Cloudflare eine groß angelegte Optimierung der Speichereffizienz durchführt. Letztes Jahr hat das Unternehmen außerdem die FL2-Schicht, die für die Verarbeitung von Anfragen verantwortlich ist, in Rust-Code umgeschrieben. Da die Preise für Serverspeicher steigen, kann es kosteneffizienter sein, das Potenzial der vorhandenen Infrastruktur durch Softwareoptimierung zu erschließen, als einfach Hardware hinzuzufügen.

Verwandte Tags

Ähnliche Artikel

Kommentare

0/500
Captcha (click to refresh)
Keine Kommentare