Wie sich die Speicherlatenz bei der Familiensicherung von Fotos mit Immich auswirkt

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.

Die Speicherlatenz bremst Immich aus, wenn erforderliche Lese- oder Schreibvorgänge warten müssen – insbesondere während Importe mit Datenbankaktivität und dem Durchsuchen gemeinsam genutzter Geräte konkurrieren.

Zwei Telefone sichern die Fotos einer Wochenendreise, während ein anderes Familienmitglied auf demselben NAS durch ältere Alben scrollt. Große Dateien werden weiterhin mit einer respektablen Geschwindigkeit kopiert, dennoch erscheinen Kacheln ungleichmäßig, und manche Anfragen pausieren. Die entscheidende Frage ist, ob das Warten auf den Speicher bei diesen bestimmten Vorgängen eine Rolle spielt – nicht, ob das Laufwerk eine hohe sequenzielle Übertragungsrate erreicht.

Schnelle Übertragungen können mit langsamen kleinen Lesevorgängen einhergehen

Der Durchsatz beschreibt, wie viele Bytes sich innerhalb eines bestimmten Zeitraums bewegen; die Latenz beschreibt, wie lange ein Vorgang vor seinem Abschluss wartet. Ein Datenträger kann einen großen sequenziellen Datenstrom effizient liefern und gleichzeitig verstreute kleine Lesevorgänge weniger schnell bedienen. Das Durchsuchen in Immich und der Anwendungszustand ähneln nicht immer dem Kopieren einer einzigen zusammenhängenden Datei, daher können beide Beobachtungen gleichzeitig zutreffen.

Die Analyse der Host-Performance untersucht das Warten auf Geräte und das Verhalten von Warteschlangen zusammen mit dem Durchsatz, nicht nur einen einzelnen Auslastungsprozentsatz. Messwerte wie Anfragelatenz, Warteschlangentiefe, CPU-Wartezeit und Anwendungsdauer sind gemeinsam aussagekräftig. Ihre Interpretation hängt vom Speicher-Stack ab, insbesondere davon, wo sich Virtualisierung, Caching oder mehrere Geräte unterhalb des gemeldeten Volumes befinden.

Als vereinfachtes Beispiel benötigen zwanzig voneinander abhängige Vorgänge mit jeweils 5 Millisekunden insgesamt 100 Millisekunden, bevor weitere Arbeit berücksichtigt wird. Bei jeweils 0,5 Millisekunden sind es 10 Millisekunden. Reale Anfragen können Vorgänge parallel ausführen oder Caches verwenden. Dies erklärt daher angesammelte Wartezeit und ist keine gemessene Prognose für die Antwortzeit von Immich.

Unterschiedliche Datenrollen greifen unterschiedlich auf den Speicher zu

Ein ursprünglicher Upload fügt Mediabytes hinzu; die Hintergrundverarbeitung liest Eingaben und schreibt abgeleitete Dateien; beim Durchsuchen werden Anzeigeelemente abgerufen; die Datenbank verarbeitet Anwendungsdatensätze und Abfragen. Derselbe physische Pool kann all dies bedienen, doch Anfragegrößen und Zugriffsmuster unterscheiden sich. Eine Änderung am Speicher kann daher einer Phase deutlich stärker helfen als einer anderen.

Ein aus erster Hand dokumentierter Immich-Aufbau platzierte PostgreSQL auf einer SSD, während Medien und Vorschaubilder auf Festplatten verblieben. Dieses dokumentierte gemischte Layout zeigt, dass Speicherrollen getrennt werden können; es beweist weder, dass diese Anordnung optimal ist, noch beziffert es einen SSD-Geschwindigkeitsvorteil. Verwende solche Beispiele, um zunächst festzustellen, welche Rolle eine Beobachtung betrifft, bevor du von der Hardwareliste verallgemeinerst.

Bei der Familiensicherung sollte zwischen akzeptierten Originalen und vollständig erstellten Vorschauen sowie durchsuchbaren Datensätzen unterschieden werden. Schnellere Schreibvorgänge für Originale beseitigen keinen Engpass bei der Inferenz, und eine schnelle Datenbank garantiert nicht, dass ein nicht im Cache befindlicher Bildabruf schnell ist. Der relevante Endpunkt ist die zeitlich gemessene Haushaltsaktion einschließlich aller dafür erforderlichen Phasen.

Importe verwandeln gemeinsam genutzten Speicher in eine Warteschlange

Während eines Imports können Hintergrundschreibvorgänge und interaktive Lesevorgänge in dieselbe Gerätewarteschlange gelangen. Mehr gleichzeitig ausgeführte Aufträge können die Menge der wartenden Arbeit erhöhen, selbst wenn der Gesamtdurchsatz steigt. Die sichtbaren Kosten zeigen sich häufig in gelegentlich sehr langen Anfragen, die ein Durchschnittswert verbergen kann, während die meisten Zeitleistenkacheln weiterhin normal geladen werden.

Die Anfrage nach getrenntem Vorschaubildspeicher entstand ausdrücklich aus dem Wunsch, schnellen Speicher für erzeugte Browsing-Elemente und Massenspeicher für Originale zu verwenden. Das belegt unterschiedliche Zugriffsprioritäten, ist aber keine allgemeingültige Aussage, dass jede Installation getrennte Laufwerke benötigt. Der tatsächliche Nutzen hängt davon ab, wo aktuelle Anfragen warten und ob die vorgeschlagene Speicherstufe diese Wartezeit verändert.

Dieser Mechanismus erklärt die Verlangsamung nicht mehr, wenn die Gerätelatenz stabil bleibt, der Client jedoch während der Dekodierung stockt, das Netzwerk Übertragungen wiederholt oder die Inferenz weiterhin ausgelastet ist. Daten allein deshalb zu verschieben, weil die CPU-Auslastung gering ist, kann dann an der Ursache vorbeigehen. Gemeinsam genutzter Speicher ist eine mögliche Abhängigkeit, aber kein automatisches Urteil über jede Pause während eines Imports.

Festplattenwartezeit mit einer Familienaktion abgleichen

Wähle eine wiederholbare Familienaktion, etwa das Öffnen desselben Albums oder das Hochladen einer festgelegten Stichprobe. Zeichne deren Dauer auf einem ruhigen Host und während eines repräsentativen Imports auf, zusammen mit Gerätelatenz, Warteschlangenverhalten, Datenbankdauer und Fehlern. Lass Konto, Netzwerkroute, Medieneinstellungen und Client unverändert, damit der Vergleich eindeutig interpretierbar bleibt.

Dieselbe Unterscheidung des kritischen Pfads findet sich in der Analyse des Speichers gemeinsam genutzter Heimserver: Eine Hintergrundpersistenz bedeutet nicht, dass jede sichtbare Aktion auf einen Schreibvorgang auf dem Datenträger wartet. Dieses anwendungsübergreifende Prinzip hilft bei der Einordnung der Beobachtung, doch Home-Assistant-Zeiten sind keine Immich-Benchmarks. Der Fotoworkflow muss seinen eigenen Zusammenhang zwischen Warten auf den Speicher und der für den Benutzer sichtbaren Verzögerung nachweisen.

Betrachte den Speicher als plausible Erklärung, wenn längere Wartezeiten konsistent mit der verzögerten Phase zusammenfallen und eine andere kontrollierte Bedingung beides verändert. Wenn nur der erste Abruf aus dem kalten Cache langsam ist, dokumentiere dies getrennt von anhaltender Konkurrenz um Ressourcen. Beende die Untersuchung bei der identifizierten Abhängigkeit; diese Mechanismusanalyse erfordert keine zerstörerischen Belastungstests der produktiven Fotobibliothek.

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.