Warum drosselt eine NVMe-SSD bei Backups mit kleinen Dateien, aber nicht bei einer einzelnen großen lokalen Kopie?

Eva Wong ist die Technische Redakteurin und und leidenschaftliche Tüftlerin bei ZimaSpace. Eine lebenslange Geek mit einer Leidenschaft für Homelabs und Open-Source-Software, sie spezialisiert sich darauf, komplexe technische Konzepte in zugängliche, praktische Anleitungenzu übersetzen. Eva ist der Meinung, dass Self-Hosting Spaß machen und nicht einschüchternd sein sollte. Durch ihre Tutorials befähigt sie die Community, Hardware-Setups zu entmystifizieren, vom Bau ihres ersten NAS bis hin zur Beherrschung von Docker-Containern.

Eine NVMe-SSD kann bei Backups vieler kleiner Dateien langsamer werden, weil Metadaten, zufällige Schreibvorgänge, Synchronisationsbarrieren und CPU-Auslastung einen anderen Engpass erzeugen als das Kopieren einer einzelnen großen Datei.

Das Wort „Drosselung“ wird häufig für jeden Geschwindigkeitsabfall verwendet, aber thermisches Drosseln ist nur eine mögliche Ursache. Bei Backups kleiner Dateien werden wiederholt Verzeichniseinträge erstellt, Zeitstempel und Berechtigungen aktualisiert, Dateien geöffnet und geschlossen, Prüfsummen berechnet, Daten komprimiert oder verschlüsselt und Metadaten festgeschrieben. Die NVMe kann dabei eine niedrigere MB/s-Rate anzeigen, während sie mehr Vorgänge pro Sekunde verarbeitet und eine höhere Latenz aufweist. Vergleichen Sie lokale Arbeitslasten gleicher Größe, bevor Sie die Kühlung ändern oder das Laufwerk ersetzen.

Beweisen Sie den Unterschied mit lokalen Tests gleicher Größe

Erstellen Sie eine große Datei und einen Verzeichnisbaum aus kleinen Dateien mit derselben Gesamtdatenmenge. Kopieren Sie beide lokal auf dasselbe NVMe-Ziel und erfassen Sie dabei die verstrichene Zeit, IOPS, Latenz, CPU-Auslastung und Temperatur.

Fio definiert separate Modi für sequenzielle und zufällige I/O. Dadurch lässt sich die Form der Arbeitslast isolieren, anstatt nicht vergleichbare Backup-Läufe gegenüberzustellen.

Wenn das große lokale Kopieren schnell bleibt, während das Erstellen kleiner Dateien langsamer wird, sind die PCIe-Verbindung und der sequenzielle NAND-Pfad wahrscheinlich verfügbar. Untersuchen Sie anschließend Metadaten, Warteschlangenlatenz, Cache, CPU und Wärmeentwicklung.

Messen Sie Metadatenvorgänge statt nur MB/s

Erfassen Sie Dateien pro Sekunde, Erstellungen, Schließvorgänge, Umbenennungen, Verzeichnisaktualisierungen, ACL-Schreibvorgänge, erweiterte Attribute und Synchronisationsvorgänge. Vergleichen Sie diese Werte mit dem Datendurchsatz.

Red Hat beschreibt Speicher für kleine Dateien als metadatenintensiv. Das erklärt, warum Tausende kleiner Dateien eine niedrige MB/s-Rate erzeugen können, ohne die sequenzielle Bandbreite der NVMe zu erreichen.

Ein Backup kann daher ausgelastet und fehlerfrei sein, während es eine enttäuschende Byte-Rate anzeigt. Bewerten Sie es neben dem Durchsatz auch anhand abgeschlossener Dateien, der Latenz und der Anforderungen an die Wiederherstellung.

Prüfen Sie, ob die Cache-Bereinigung die Schreibvorgangslatenz erhöht

Erfassen Sie den freien Speicherplatz, die geschriebenen Bytes, die anhaltende Latenz und ob sich die Leistung nach einer Ruhephase wieder verbessert. Vergleichen Sie einen frisch getrimmten Testbereich nur dann mit dem normalen Backup-Ziel, wenn dies sicher ist.

Crucial erklärt, dass eine aktive Garbage-Collection die SSD-Geschwindigkeit beeinflussen kann, insbesondere wenn das Gerät wenig Leerlaufzeit oder wiederverwendbaren Speicherplatz hat.

Kleine zufällige Schreibvorgänge können mehr interne Verschiebungen erfordern als ein einzelner sequenzieller Datenstrom. Halten Sie ausreichend freien Speicherplatz vor und gehen Sie nicht davon aus, dass die beworbene sequenzielle Rate auch für dauerhafte Schreibvorgänge mit kleinen Dateien gilt.

-15% OFF

Untersuchen Sie Warteschlangenlatenz und Geräteauslastung

Erfassen Sie während beider Tests die durchschnittliche Anforderungslatenz, Warteschlangentiefe, Auslastung, Lese-/Schreibraten und die CPU-I/O-Wartezeit. Achten Sie auf eine hohe Latenz bei gleichzeitig moderater MB/s-Rate.

Der iostat-Bericht zeigt, wann das Gerät durch viele kleine Anforderungen ausgelastet ist, obwohl der Gesamtdurchsatz weit unter den sequenziellen Spezifikationen bleibt.

Eine höhere Backup-Konkurrenz kann die Leistung eines wenig ausgelasteten Geräts verbessern, aber eine bereits gesättigte Warteschlange verschlechtern. Ändern Sie jeweils nur einen Worker oder eine Warteschlangeneinstellung.

Trennen Sie Dateisystemeinträge von den Dateidaten

Ermitteln Sie die Quell- und Zieldateisysteme sowie die Metadaten, die das jeweilige Backup bewahrt. Erfassen Sie bei NTFS das Wachstum der MFT und ob Sicherheitsdeskriptoren, alternative Datenströme und Zeitstempel kopiert werden.

Microsoft erklärt, dass die MFT mindestens einen Eintrag pro Datei enthält. Das veranschaulicht, warum viele kleine Dateien deutlich mehr Arbeit an Dateisystemeinträgen erzeugen als eine einzelne Datei gleicher Gesamtgröße.

Wenn das Backup ACLs, xattrs, Sparse-Bereiche oder Prüfsummen bewahrt, beziehen Sie diese Arbeit in den Vergleich ein. Deaktivieren Sie Integritätsfunktionen nicht allein zur Verbesserung eines Benchmarks, da dies das Backup schwächen kann.

Überprüfen Sie echtes thermisches Drosseln, statt es nur zu vermuten

Protokollieren Sie die kombinierte NVMe-Temperatur, die Dauer thermischer Warnungen, die Auslastungszeit des Controllers sowie die Leistung vor und nach einer Verbesserung der Kühlung. Wiederholen Sie den Test bei stabilem Luftstrom und mit demselben Satz kleiner Dateien.

Kingston erklärt, dass thermisches Drosseln die Leistung reduziert, bis die SSD wieder eine sichere Temperatur erreicht.

Wenn der Durchsatz ohne das Erreichen eines Temperaturschwellenwerts oder ohne thermische Warnung sinkt, handelt es sich eher um einen Engpass der Arbeitslast als um thermisches Drosseln. Kühlung löst weder die Serialisierung von Metadaten noch CPU-bedingte Prüfsummenberechnung.

Optimieren Sie die Backup-Schicht, die tatsächlich ausgelastet ist

Testen Sie eine moderate Änderung, etwa weniger Prüfsummen-Worker, einen zusätzlichen Kopier-Worker, gebündelte Metadaten, ein lokales Manifest oder den Ausschluss neu generierbarer Caches. Bewahren Sie für die Wiederherstellung wichtige Metadaten.

Der ZimaSpace-Artikel über Tests zum Kopieren kleiner Dateien über SMB behandelt Netzwerkkopien. Dieser Artikel isoliert die lokale NVMe und die Backup-Pipeline, wenn das große lokale Kopieren schnell bleibt.

Die Diagnose ist abgeschlossen, wenn sich die Verlangsamung auf die Metadatenrate, die Latenz zufälliger Schreibvorgänge, die Cache-Bereinigung, CPU-Arbeit oder nachgewiesenes thermisches Drosseln zurückführen lässt und eine gezielte Änderung denselben kontrollierten Test mit kleinen Dateien verbessert.

Support & Tipps

Mehr zum Lesen

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.