Saturday, November 7, 2026
Home » Leistungstest der ARTESCA-Speicher-Engine

Leistungstest der ARTESCA-Speicher-Engine

Wir möchten einige erste, vielversprechende Leistungsergebnisse unserer Objektspeichersoftware ARTESCA vorstellen. Die folgenden Zahlen stammen aus Tests der ARTESCA-Speicherdienstschicht (der Storage-I/O-Engine), die in einem Labor von Intel durchgeführt wurden. Leistung war schon immer ein Designziel unserer Produkte – und ist inzwischen noch wichtiger geworden, da unsere Kunden und Anwendungspartner S3-Objektspeicher auf neue und vielfältige Weise nutzen, die eine Weiterentwicklung der Leistung erfordern. Mit ARTESCA verpflichten wir uns, Lösungen anzubieten, die auf die sich rasch wandelnden Anforderungen dieses Ökosystems eingehen.

Viele unserer Leser kennen bereits die Eigenschaften herkömmlicher Objektspeicherprodukte. Allgemein gilt, dass Objektspeicher bei größeren Dateien sehr gut abschneiden kann und Streaming-Durchsatz für Bilder, Videos und große Backup-Datenmengen liefert. Bei diesen Workloads ist skalierbarer Durchsatz die entscheidende Kennzahl, und manche Objektspeichersysteme liefern problemlos Dutzende GB/s Durchsatz und mehr.

Bei kleineren Dateien hingegen gilt Objektspeicher als relativ schwach, wenn es um hohen Transaktionsdurchsatz (Vorgänge pro Sekunde) und sehr niedrige Antwortlatenzen geht. Diese Leistungskennzahlen werden jetzt deutlich relevanter, da die für Objektspeicher geeigneten Workloads und Datensätze immer vielfältiger und anspruchsvoller werden: KI und maschinelles Lernen, IoT, Data Lakes und Analytics sowie eine unvorhersehbare Flut von Anwendungen am Edge. Neue Anwendungen müssen Dateien von wenigen Dutzend bis einigen Hundert Byte (denken Sie an IoT-Ereignisströme) erstellen und nutzen und zugleich Mediendateien von mehreren Gigabyte verarbeiten. Unser Produkt RING erbringt übrigens schon heute sehr gute Leistung bei anspruchsvollen Workloads wie E-Mail im Web-Maßstab, bei denen Datenmengen oft nur einige Hundert Byte groß sind. 

Die neue Ära bringt also Workloads mit sehr unterschiedlichen Leistungsanforderungen. Darüber hinaus benötigen neue Anwendungen:

  • Modernen Amazon-S3-kompatiblen Objektspeicher: Umfassende Unterstützung der S3 API, einschließlich erweiterter Funktionen
  • Hohe Leistung auf ganzer Linie: Zugriff auf kleine Dateien mit extrem niedriger Latenz, hohe (und skalierbare) Vorgänge pro Sekunde und zugleich hoher Durchsatz bei großen Dateien
  • Extrem langlebigen Speicher, auf den Sie sich verlassen können: Die Lösung muss bis hinunter zur untersten Speicherdienstschicht darauf ausgelegt sein, Daten zu schützen und verfügbar zu halten – trotz vielfältiger Bedrohungen für Integrität und Bestand.

Der letzte Punkt ist entscheidend. Einen schnellen Objektspeicher zu entwickeln ist viel, viel einfacher, wenn man eine dieser Bedingungen lockern kann. Immer wenn ein Speichersystem weniger Arbeitleisten muss, lassen sich damit bessere Benchmark-Werte vorweisen. Das gilt besonders für manche Objektspeichersysteme, die sich vor allem als schlankes S3-Frontend verstehen – allerdings auf Kosten von Festplattenverwaltung und Datenschutzfunktionen.

Hier kommt Scality ARTESCA ins Spiel: Es ist nicht nur als schlanker Objektspeicher konzipiert, sondern macht dabei auch keine Abstriche bei den letzten beiden Punkten.

Latenz- und Bandbreitentests der ARTESCA-Speicherdienste

Bevor wir uns die zugrunde liegende Technik ansehen, werfen wir einen Blick auf die angekündigten Ergebnisse unserer Tests der Speicher-Engine. Unser Ziel war es, die Speicher-Engine mit anspruchsvollen Workloads aus kleinen Dateien zu belasten und zu sehen, wie sie auf NVMe-Flash-Laufwerken mit SSD als Schreibcache abschneidet. Alle Tests liefen auf drei Hosts (Speicherservern), die über 25-GbE-Netzwerkschnittstellen an einen Switch angeschlossen waren. Wir haben die Latenzen von Lese-, Schreib- und Löschvorgängen für kleine Dateigrößen (4 KB, 32 KB und 64 KB) gemessen. Für das Verständnis der Ergebnisse ist wichtig, dass wir jeweils die Zeit des vollständigen Vorgangs gemessen haben (bis zum letzten Byte der Datei). 

Hinweis: Weitere Details zu den Serverkonfigurationen folgen später in diesem Beitrag.

Kommen wir nun direkt zu den Leistungszahlen. Kurz gesagt erreicht die Speicher-Engine Latenzen unter 1 Millisekunde bei kleinen Vorgängen (4-KB-Dateien) auf Servern mit SSD als Schreibcache und NVMe-Flash für die Datenspeicherung (auch hier jeweils für den vollständigen Vorgang bis zum letzten Byte der Datei gemessen):

  • 0,28 Millisekunden (ms) Leselatenz bei 4-KB-Dateien
  • 0,61 Millisekunden (ms) Schreiblatenz bei 4-KB-Dateien 
  • Latenzen unter 1 ms bei Lese- und Schreibvorgängen werden auch mit 32-KB-Dateien (0,34 bzw. 0,67 ms) und 64-KB-Dateien (0,36 bzw. 0,74 ms) erreicht
  • Diese Werte werden mit vollständig aktivierten Datenschutzmechanismen erzielt (zweistufiges Erasure Coding, wie im nächsten Abschnitt beschrieben)

Wie bereits erwähnt, sind diese Ergebnisse sehr vielversprechend, denn sie zeigen, dass die aufwendige Arbeit der Speicher-Engine für den Datenschutz mit Latenzen im Submillisekundenbereich auf diesen modernen Flash-Servern vereinbar ist. Dies ist Teil des Gesamtsystemdesigns zur Beschleunigung von Objektspeicher, und in einem folgenden Beitrag betrachten wir die Leistung bei großen Dateien und über den gesamten Stack. Im nächsten Abschnitt beschreiben wir, welche Mechanismen für diesen dauerhaften Datenschutz sorgen.

Datenbeständigkeit bei ARTESCA

Bei der Entwicklung der Speicher-Engine verfolgten wir drei zentrale Ziele:

  • Unübertroffene Datenbeständigkeit und beschleunigte Rebuilds
  • Nutzung von Flash mit hoher Dichte (NVMe, QLC und künftige Medien) bei gleichbleibender Zuverlässigkeit der Medien (auch bei künftig steigender Dichte)
  • Softwaredefinierte Architektur, damit Kunden weiterhin flexibel zwischen Plattformen wählen können

Die ARTESCA-Speicherdienste setzen die folgenden Mechanismen ein, um Daten auf Speicherservern mit hoher Dichte effizient und geschützt zu speichern:

  • Zweistufiges Erasure Coding (EC): Eine Kombination aus netzwerkweiten (verteilten) Erasure Codes und lokalen Paritätscodes innerhalb eines Servers. Das schützt vor Ausfällen und beschleunigt die lokale Reparatur (ohne Netzwerk) bei Festplattenausfällen, was die Beständigkeit erhöht, vor allem bei größeren Laufwerken. Die Schemata sind flexibel konfigurierbar und passen sich bei Laufwerksausfällen an.
  • Datenreplikation: Mehrere Kopien von Objekten werden auf verschiedenen Festplatten und Maschinen gespeichert. Das ist bei kleineren Datenobjekten optimal in Bezug auf Speichereffizienz und Leistung.
  • Sicherstellung der Datenintegrität: Prüfsummen werden auf Extent- und Objektebene gespeichert, mit kontinuierlichem Scannen im Hintergrund (Disk Scrubbing) und Validierung der Prüfsummen beim Lesen. Ziel ist es, Datenbeschädigungen durch Festplattenfehler („Bit Rot“) auszuschließen.
  • Fehlererkennung und automatische Selbstheilung (Reparatur/Rebuild): Bei Festplattenausfällen kann die Speicher-Engine betroffene (oder fehlende) Blöcke auf anderen verfügbaren, nicht zugewiesenen Speicher verlagern – und zwar parallel auf mehrere Festplatten. 

In einem ARTESCA-Cluster mit mehreren Servern bietet dieses zweistufige EC-Schema eine extrem hohe Toleranz gegenüber Festplattenausfällen und eine sehr hohe Beständigkeit. Ein konkretes Beispiel: 

Angenommen, wir haben sechs moderne Speicherserver mit je 24 Festplatten. Für die Datenbeständigkeit wurde das System mit zweistufigen Erasure Codes wie folgt konfiguriert: 16+4 (lokales EC, Daten+Parität) und 4+2 (Netzwerk-EC, Daten+Parität). Einfach ausgedrückt schützt jeder Server Daten mit lokaler Parität, das System verteilt die Daten aber zusätzlich mit verteilten Daten- und Paritätsstreifen über den Cluster. Diese Beständigkeitsrichtlinien sind flexibel und lassen sich je nach Bedarf für mehr Beständigkeit oder bessere Speichereffizienz konfigurieren.

Folgende Ausfälle toleriert dieses System ohne Verlust von Daten oder Serviceverfügbarkeit:

  • Lokales EC auf jedem Server: 4 Laufwerke pro Server können ausfallen
  • PLUS mit Netzwerk-EC: 2 komplette Server können gleichzeitig ausfallen (48 Laufwerke)
  • Die Rechnung lautet also: 2 Server können vollständig ausfallen (48 Laufwerke), und die übrigen 4 Server tolerieren jeweils 4 Laufwerke (16) – insgesamt also 64 ausgefallene Laufwerke.

In dieser Konfiguration bleiben Verfügbarkeit und Datenschutz selbst dann erhalten, wenn 44 % der Laufwerke ausfallen. Das Ergebnis ist ein enormes Maß an Beständigkeit: Es bietet 10-mal mehr Ausfallschutz als klassisches verteiltes Erasure Coding und erhält dabei den Datenschutz. 

Die Technik: ein Blick in die ARTESCA-Speicherdienste

Werfen wir einen Blick unter die Haube der Speicher-Engine, um zu sehen, wie ARTESCA sowohl Beständigkeit als auch hohe Leistung erreicht.  

ARTESCA speichert Objektdaten in Extents fester Größe, was bereits mehrere Vorteile bietet: Es vermeidet eine Überbelegung von Dateisystem-Inodes, verbessert die Skalierbarkeit und hilft, Fragmentierung zu vermeiden. Kleine Objekte passen in den verfügbaren Platz des offenen Extents (größere Dateien können aufgeteilt und über mehrere Extents gespeichert werden). Beim Speichern erhalten Objekte Platz im aktuell offenen Extent und werden sequenziell in den verfügbaren Platz geschrieben. Sobald ein Extent geschlossen ist, berechnet die Engine auf jedem Server die Parität der Extents (lokale Paritätscodes, wie oben beschrieben) und speichert sie mit einer Prüfsumme auf Extent-Ebene. Sind Extents gefüllt, werden sie geschlossen – und neue Extents werden zugewiesen. 

Das hilft auch bei der Optimierung von Flash mit hoher Dichte, da das Speicherschema mit festen Extents gut zu den I/O-Mustern von Flash-Medien passt. Extents werden zunächst sicher auf schnellen Flash-Medien gespeichert (in unserem Test oben diente eine SSD als Schreibpuffer), und sobald sie gefüllt sind, kann das System diese gesperrten (gefüllten und per Erasure Coding geschützten) Extents auf permanente Langzeitmedien (NVMe- oder QLC-Flash) verschieben. Ein weiterer Effekt ist ein minimierter I/O auf den Langzeitmedien und die Schonung der Program/Erase-Zyklen (P/E) von Flash-Geräten mit hoher Dichte.

Die Testkonfiguration

Weitere Informationen zum Aufbau des oben beschriebenen Labortests: Wir nutzten drei moderne Intel-basierte Speicherserver mit je 24 Laufwerken, jeweils wie folgt konfiguriert:

  • Prozessor Intel Xeon-Gold 6226R (2,9 GHz/16 Kerne/150 W) 
  • 128 GB (1 x 128 GB) Quad Rank x4 DDR4-2933 
  • 1 x HPE Write Intensive – SSD – 750 GB – PCIe x4 (NVMe)
  • 1 NVMe, 750 GB (Betriebssystem-/Systemlaufwerk)
  • 6 NVMe, 3,84 TB (NVMe Gen4 Mainstream Performance SFF SSD)
  • Ethernet-10/25-Gb-Adapter mit 2 Ports

Die obigen Ergebnisse wurden auf Servern erzielt, die nur teilweise mit Laufwerken bestückt waren; mit mehr Laufwerken ließe sich die Leistung bei I/O-intensiven Workloads sicherlich weiter steigern.