Warum sinkt der NAS-Durchsatz, wenn ein KI-Indexer Millionen kleiner Dateien scannt?

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.

Der NAS-Durchsatz sinkt während der Indexierung kleiner Dateien, weil feste Metadaten- und Öffnen-Schließen-Kosten dominieren, bevor der Speicher effiziente sequentielle Übertragungsraten erreichen kann.

Ein Indexer kann ein Terabyte in wenigen großen Archiven als Datenstrom verarbeiten, doch dieselben Bytes, verteilt auf Millionen von Dokumenten, erfordern Millionen von Suchvorgängen. Jeder Pfad kann das Durchlaufen von Verzeichnissen, Berechtigungsprüfungen, das Auslesen von Attributen, Öffnen, winzige Lesevorgänge, Schließen, Hashing und Indexschreibvorgänge auslösen. Die Arbeitslast wird dadurch eher durch Operationen pro Sekunde und Latenz als durch reine Bandbreite begrenzt.

Jede Datei verursacht zusätzlichen Aufwand, der nicht mit ihrer Größe skaliert

Bevor Inhalte gelesen werden, lösen Client und NAS einen Pfad auf, prüfen Metadaten, setzen Berechtigungen durch und öffnen einen Handle. Diese festen Operationen kosten für eine Notiz mit zwei Kilobyte nahezu genauso viel wie für ein großes Video. Dadurch sinkt die Menge nützlicher Bytes pro Anfrage, je kleiner die durchschnittliche Dateigröße wird.

Die Arbeit zu TableFS für metadatenlastige Arbeitslasten wurde für Arbeitslasten entwickelt, die von Metadaten und kleinen Dateien dominiert werden. Sie zeigt, dass herkömmliche lokale Dateisysteme bei Namensraumoperationen zum Engpass werden können, selbst wenn der zugrunde liegende Speicher Daten deutlich schneller übertragen kann.

Ein Netzwerkdateisystem fügt Protokollaustausch sowie serverseitige Sperrung oder Cache-Validierung hinzu. Parallelität kann einen Teil der Latenz verbergen, doch zu viele Worker verlängern Warteschlangen, verdrängen nützliche Metadaten aus dem Cache und sorgen dafür, dass interaktive NAS-Anfragen hinter umfangreichen Aufzählungen warten.

Große Verzeichnisse und zufällige Zugriffe beeinträchtigen die Effizienz sequenzieller Übertragungen

Millionen von Einträgen vergrößern Verzeichnisindizes und Inode-Arbeitssätze über die Cache-Kapazität hinaus. Der Scan springt zwischen Metadatenblöcken und kleinen Extents hin und her, wodurch die Effektivität des Read-Ahead sinkt und HDD-Suchvorgänge oder verstreute SSD-Anfragen anstelle langer sequenzieller Übertragungen erzwungen werden.

Die Forschung zu skalierbaren Dateiverzeichnissen untersucht Verzeichnisse mit Millionen bis Milliarden kleiner Dateien und verteilt das Wachstum der Metadaten auf Partitionen. Ihr Entwurf veranschaulicht, dass die Skalierbarkeit des Namensraums ein eigenständiges Problem gegenüber der reinen Gerätebandbreite ist. Dieser Unterschied bleibt auch bei späteren Tests im Haushalt sichtbar.

Die KI-Pipeline fügt einen weiteren zufälligen Datenstrom hinzu, wenn sie Hashes, OCR-Text, Miniaturbilder oder Datensätze für Vektordatenbanken schreibt. Lese- und Schreibwarteschlangen konkurrieren miteinander, und synchrone Datenbank-Commits können die Aufnahme pausieren, selbst wenn die Festplatten noch ungenutzten maximalen sequentiellen Durchsatz aufweisen.

Cache-Verdrängung überträgt die Verlangsamung auf andere NAS-Nutzer

Verzeichniseinträge, Attribute, Dateidaten, Modellseiten und Indexpuffer konkurrieren um den Arbeitsspeicher. Ein umfassender Scan kann häufig verwendete Haushaltsdateien aus dem Cache verdrängen, während Virenschutz, Miniaturbilderstellung oder Prüfsummenbildung die durch dieselben neuen Zugriffsereignisse ausgelösten Lesevorgänge duplizieren.

Eine Analyse des Overheads kleiner Dateien erklärt, wie große Mengen von Objekten mit weniger als 64 KB Metadaten- und Anfrage-Overhead erzeugen, den Messwerte zum Massendurchsatz verbergen. Die Bündelung von Arbeitsvorgängen verändert das Verhältnis zwischen Nutzdaten und der Verarbeitung pro Objekt. Das Zwischenergebnis muss überprüfbar bleiben, bevor die Automatisierung fortgesetzt wird.

Die Fehlergrenze besteht in der Annahme, dass allein die Dateianzahl die Leistung bestimmt. Ein warmer SSD-Metadaten-Cache, ein gepacktes Archiv, eine lokale Indexdatenbank und ein gebündeltes Protokoll können mehr Dateien verarbeiten als eine kalte HDD über SMB mit hoher Latenz. Messen Sie Operationen und Warteschlangen unter dem tatsächlichen Layout.

-15% OFF

Dateien pro Sekunde getrennt von Megabytes pro Sekunde messen

Erstellen Sie Datensätze mit gleicher Gesamtgröße, aber einer medianen Dateigröße von 4 KB, 64 KB, 1 MB und 64 MB sowie flachen und tief verschachtelten Verzeichnissen. Erfassen Sie Dateien pro Sekunde, Metadatenoperationen, Netzwerk-Roundtrips, IOPS, Warteschlangenlatenz, Cache-Fehlzugriffe, Indexschreibvorgänge und die interaktive NAS-Latenz.

Verwenden Sie die Trennung von Engpässen als Rahmen für die Engpassanalyse. Wiederholen Sie den Test mit einem, vier und sechzehn Indexer-Workern und anschließend mit gebündelter Inhaltsverarbeitung sowie der Indexdatenbank auf einem anderen Gerät. Halten Sie Dateisatz und Cache-Zustand ausdrücklich fest.

Wählen Sie die Parallelität an dem Punkt, an dem sich die Anzahl der Dateien pro Sekunde nicht mehr verbessert oder die interaktive p95-Latenz ihren Grenzwert überschreitet. Wenn Metadaten dominieren, reduzieren Sie wiederholte Statusabfragen und bündeln Sie die Arbeit. Wenn Inhaltslesevorgänge dominieren, optimieren Sie das Speicherlayout, anstatt die sequentielle Bandbreite als fehlende Kapazität zu betrachten.

Tech- & KI-Zentrum

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.