Wie wir die 35-fache Leistung für Bildsequenzen erreicht haben

von | 18.10.2023

Bei MASV schätzen wir das Feedback unserer Kunden sehr und versuchen, so schnell wie möglich darauf zu reagieren. Manchmal erhalten wir positive Ideen und Rückmeldungen, wie wir unser Produkt verbessern können. In anderen Fällen ist das Feedback kritisch - und oft auch produktiver.

Genau so haben wir herausgefunden. wie man die Leistung von Bildsequenzen verbessert (AKA große Stapel von kleinen Dateien).

Wir sind vor allem für die Übertragung der größten Dateien der Welt bekannt, aber unsere Kunden übertragen auch Tausende (manchmal Millionen) von kleinen Dateien auf einmal. Wenn Sie mit Bildsequenzen, riesigen Codebasen oder LIDAR-Scans arbeiten, wissen Sie, wovon wir sprechen.

In diesem speziellen Anwendungsfall bemerkten unsere Nutzer eine Verlangsamung bei der Übertragung von Bildsequenzen. Also haben wir uns an die Arbeit gemacht und eine Lösung gefunden. Wir freuen uns sehr, Ihnen mitteilen zu können, dass MASV ist jetzt bis zu 35x schneller für Übertragungen mit einer großen Anzahl kleiner Dateien.

So haben wir es gemacht.

Inhaltsübersicht

Was sind Bildsequenzen und wie werden sie verwendet?

Eine Bildsequenz ist eine Sammlung von einzelnen Bilddateienwobei jede Bilddatei ein Einzelbild in einem Video darstellt. Sie werden in der Medien- und Filmproduktion z. B. für Animationen verwendet, VFX-Roundtrippingund Farbkorrekturen.

Der Vorteil der Aufteilung eines Videos in eine Bildsequenz besteht darin, dass man sehr detaillierte Informationen über jedes einzelne Videobild erhält. So können Farbkorrekturteams ihre Arbeit präzise und effizient erledigen. Teams für Spezialeffekte können so anspruchsvollere Szenenkompositionen durchführen.

Bildsequenz eines Basketballspielers

Es stellte sich heraus, dass MASV kein Problem mit Bildsequenzen hatte speziell.

Dies war ein Problem bei der Übertragung vieler, vieler kleiner Dateien, unabhängig von ihrem Format oder ihrer Verwendung.

Auf welche Probleme sind unsere Kunden gestoßen?

Langsame Übertragungen für Bildsequenzen

Kunden, die die Desktop-App Version 2.7.0 und früher verwendeten, beschwerten sich über langsame Übertragungen von Bildsequenzen:

  • Ein 10-minütiges 4K-Video ist etwa 200 GB groß. Bei einem Netzwerkdienst von 1 Gbit/s hätte das Herunterladen 20-30 Minuten gedauert.
  • Eine entsprechende Bildfolge könnte 18.000 Bilddateien umfassen. Unter den gleichen Bedingungen hätte das Herunterladen 4,5 Stunden (oder mehr) dauern können.

Schlimmer noch, die Kunden verschwendeten auf andere Weise Zeit. In einem Fall versuchte ein Kunde, etwa 500.000 kleine Dateien zu übertragen. Unsere Desktop-Anwendung konnte das nicht bewältigen. Die Komponente, die für die Bearbeitung von Übertragungsanfragen zuständig ist, stürzte sogar ab.

Die gute Nachricht ist, dass dieser Absturz keine Auswirkungen auf andere Übertragungen oder andere Kunden hatte. MASV ist so konstruiert, dass eine einzige fehlgeschlagene Übertragung keine Auswirkungen auf andere Übertragungen hat.

Unser Support-Team umging das Problem, indem es die Übertragungen manuell in kleinere Übertragungen aufteilte, den Übertragungsverlauf löschte und neue, benutzerdefinierte Builds der Desktop-App ausprobierte. In der Zwischenzeit arbeitete unser Technikteam daran, das Problem zu untersuchen und zu beheben.

Was ist also der Grund für das Problem mit den Tausenden von kleinen Dateien?

Die Wurzel(n) des Problems finden

Wir begannen mit einem Benchmarking der MASV-Desktop-Anwendung, Version 2.7.0 und früher, verbunden mit einem 1-Gbps-Netzwerk.

Wir haben die Zeit gemessen, die benötigt wurde, um 10 GB auf diese Weise zu übertragen:

  • Eine 10 GB große Datei
  • Zweitausend 5 MB Dateien

Hier sind die dramatischsten Ergebnisse:

blog-seite-platzhalter-bild

Es gibt ein paar offensichtliche Dinge:

  • Bei einer einzelnen 10-GB-Datei ist das Herunterladen fast so schnell wie das Hochladen. Das ist Standard.
  • Bei 2000 Dateien mit 5 MB ist das Hochladen 5 mal langsamer und das Herunterladen 35 mal langsamer!

Ausgabe #1: Lesevorgänge verzögern

Eine der Ursachen für diese Verlangsamung war die Art und Weise, wie unsere Desktop-App Downloads auf Ihrem Computer speichert.

Um eine Datei in die MASV-Cloud hochzuladen, liest die Desktop-App sie nur einmal. Beim Herunterladen aus der MASV-Cloud schreibt die Desktop-App die Datei in Ihren Speicher - aber sie muss auch lesen damit es die Integrität der übertragenen Datei überprüfen kann.

Unsere Teams entdeckten eine absichtliche Designentscheidung, die unbeabsichtigt die Übertragung vieler kleiner Dateien verlangsamte. Um die Zeit zu reduzieren, die beim Herunterladen mit Lesen verbracht wird, wurde die MASV Desktop App verzögert Lesevorgängewobei Schreibvorgängen Vorrang eingeräumt wird. Manchmal erreichte diese Verzögerung 400 ms, also fast eine halbe Sekunde..

Das Komische daran ist, dass die MASV-Desktop-Anwendung diese Verzögerung nicht mehr benötigt. Sie wurde überflüssig, als wir die Art und Weise änderten, wie die Desktop-Anwendung heruntergeladene Dateien überprüft. Diese Verbesserung verbarg die Tatsache, dass die Verzögerung bei einigen wenigen großen Dateien, die nur einen kleinen Teil der gesamten Übertragungszeit ausmachen, kaum spürbar war. Aber wie das obige Diagramm zeigt, summierten sich diese Verzögerungen bei vielen kleinen Dateien dramatisch auf.

Problem #2: Langsamer Übertragungsverlauf

Unsere Desktop-Anwendung verfügt über eine Übertragungshistorie, mit der sie jede von Ihnen gesendete und empfangene Datei verfolgt. Diese Informationen werden in einer Datenbank gespeichert. Die Datenbank schien bei der Verfolgung von Dutzenden und sogar Hunderten von Dateien nicht langsam zu sein. Aber Bildsequenzen können Hunderttausende von Dateien oder mehr enthalten.

Wir haben eine vollständige Prüfung der Leistung dieser Datenbank durchgeführt. Dabei simulierten wir eine Übertragungshistorie von 300.000 Dateien, was für eine Bildsequenz nicht ungewöhnlich ist. Die langsame Leistung der Datenbank wurde erst bei der Übertragung von Tausenden von Dateien deutlich.

Problem #3: Langsame Bearbeitung von Anfragen

Unsere Desktop-App verfügt auch über eine interne Komponente, die Dateianfragen zwischen Ihrem Computer und den MASV-Cloud-Servern verarbeitet. Auch diese Komponente schien bei einer relativ geringen Anzahl von Dateien nicht merklich langsam zu sein. Bei der Übertragung von Tausenden von Dateien war ihre schlechte Leistung jedoch offensichtlich.

Wie wir die Probleme angegangen sind

Nachdem wir eine klare Vorstellung davon hatten, was MASV verlangsamte, machte sich unser Technikteam an die Arbeit, um es zu verbessern. Sie können diese Verbesserungen in Version 2.7.5 und später erhalten:

Verbesserung #1: Entfernen Sie die Leseverzögerung

Unser Entwicklungsteam war froh, die veraltete Leseverzögerung zu entfernen. Für Software-Ingenieure ist es ein guter Tag, wenn sie ihren Code sowohl vereinfachen als auch schneller machen können.

Verbesserung #2: Rekonfigurieren des Dateiverlaufs und der Anfrageverarbeitung

Unser Team hat die Leistung der Dateiverlaufsdatenbank verbessert und die Kapazität der Komponente zur Bearbeitung von Anfragen erhöht. Beide können nun problemlos Hunderttausende von Dateien und mehr verarbeiten.

Auf der Grundlage des Audits konnten unsere Ingenieure einige weitere kleinere Verbesserungen vornehmen, um die Geschwindigkeit und Zuverlässigkeit zu erhöhen.

Bonus-Verbesserung: Wiederverwendung von Dateihandles

Es dauert ein wenig, bis das Betriebssystem eine Datei geöffnet und geschlossen hat. Das summiert sich bei Tausenden von Dateien. Die MASV-Desktop-Anwendung verwendet jetzt Datei-Handles wieder, wenn sie kann.

Das Ergebnis: Unserem Versprechen gerecht werden

Unseren Teams ist es gelungen, die Probleme zu beheben, die die Bildsequenzen beeinträchtigten. Zu sagen, dass wir mit dem Ergebnis zufrieden sind, ist eine Untertreibung.

Werfen Sie einen Blick auf die nachstehenden Ergebnisse für MASV Desktop app 2.7.5. Sie werden feststellen, dass die Uploads immer noch schnell sind. Die Downloads sind praktisch genauso schnell, definitiv schnell genug, um unser Versprechen zu erfüllen.

blog-seite-platzhalter-bild

Übertragung von Bildsequenzen mit unglaublichen Geschwindigkeiten

Wir nehmen Kundenanfragen ernst und bearbeiten sie so schnell wie möglich. Als sich unsere Kunden über langsame Übertragungen in Bezug auf Bildsequenzen beschwerten, arbeiteten unsere Technik- und Support-Teams hart daran, eine Lösung zu finden.

Wir sind zuversichtlich, dass MASV überträgt Bildsequenzen praktisch mit der gleichen Geschwindigkeit wie alle anderen Dateienob groß oder klein.

Wenn Sie mit Bildsequenzen arbeiten oder bereits versucht haben, Bildsequenzen mit MASV zu übertragen und nicht zufrieden waren, laden Sie bitte die neueste Version von Desktop-Anwendung. Wir möchten Ihnen weiterhin die einfachste und schnellste Möglichkeit bieten, Dateien zuverlässig und sicher zu übertragen.

Neu bei MASV?

Testen Sie die schnellste Dateiübertragung für Medien und umfangreiche Grafikdateien. Melden Sie sich noch heute an.