Best Practices für Dateisystemübertragungen

Auf dieser Seite werden Best Practices für Dateisystemübertragungen beschrieben.

Best Practices für die Leistung

Die folgenden Best Practices sorgen für eine gute Übertragungsleistung:

  • Maximieren Sie die Leistung Ihres Übertragungs-Agents.

  • Vergleichen Sie die Leistung durch Übertragen eines großen Datenkorpus von mindestens 100 GB.

    Storage Transfer Service ist ein umfangreicher, durchsatzoptimierter Dienst. Daher ist die Leistung sehr kleiner Test-Datasets nicht bezeichnend für die Leistung großer Datenmengen in der Produktion.

  • Begrenzen Sie einzelne Quellordner auf 1 Million Dateien. Verzeichnisse mit Millionen von Dateien können die gesamte Übertragung verlangsamen.

  • Führen Sie Agents auf separaten virtuellen Maschinen (VMs) aus, damit Sie den Ressourcenverbrauch effizienter skalieren können

  • Prüfen Sie, ob die Netzwerkschnittstelle auf den Agent-Computern für die benötigte Bandbreite von Lese-/Schreibvorgängen ausgelegt ist.

    Wenn Sie beispielsweise ein WAN (Wide Area Network) mit 20 Gbit/s verwenden möchten, muss die Netzwerkschnittstelle der Agent-Maschine 20 Gbit/s zum Lesen von Daten aus Ihrem Netzwerksystem und weitere 20 Gbit/s unterstützen, um Daten an Cloud Storage zu übertragen, oder 40 Gbit/s Gesamtbandbreite.

  • Überwachen Sie die CPU, den Arbeitsspeicher und das Netzwerk auf Agent-Maschinen, um zu vermeiden, dass die Rechner von anderen Arbeitslasten überlastet werden, da dies negative Auswirkungen auf die Leistung haben kann. Informationen zu den vorgeschlagenen Arbeitsspeicher- und CPU-Zahlen finden Sie unter Hardwareanforderungen für Agents.

Mehrteilige Uploads

Wenn die Übertragung von einem POSIX-Dateisystem in Cloud Storage oder zwischen POSIX-Dateisystemen erfolgt, sollten Sie Mehrere Uploads aktivieren. Mit mehrteiligen Uploads lassen sich Übertragungen mit großen Dateien um bis zu 300 % beschleunigen. Dazu werden große Dateien (> 1 GiB) in kleinere Teile aufgeteilt und diese Teile parallel hochgeladen.

HDFS- und S3-kompatible Dateisysteme unterstützen keine mehrteiligen Uploads.

Mehrteilige Uploads aktivieren

So aktivieren Sie mehrteilige Uploads:

  • Sie müssen dem Konto, das Transfer-Agents autorisiert, entweder einem Nutzerkonto oder einem Dienstkonto, die erforderlichen Berechtigungen gewähren.

  • Der Ziel- oder Zwischen-Bucket darf keine Aufbewahrungsrichtlinie oder keinen Objekt-Hold haben.

Nach der Aktivierung verwendet der Storage Transfer Service automatisch den mehrteiligen Upload, wenn dies die Übertragung wahrscheinlich beschleunigt.

Regeln für den Objektlebenszyklus für mehrteilige Objekte konfigurieren

Mit der Verwaltung des Objektlebenszyklus von Cloud Storage können Sie einen unvollständigen mehrteiligen Upload abbrechen und die zugehörigen Teile löschen. Weitere Informationen finden Sie in der Cloud Storage-Dokumentation unter Unvollständige mehrteilige Uploads abbrechen.

Wir empfehlen, einen Wert von 7 Tagen für age festzulegen.

Mehrteilige Uploads deaktivieren

Wenn Sie mehrteilige Uploads deaktivieren möchten, installieren Sie die Übertragungs-Agents mit docker run und übergeben Sie --enable-multipart=false:

sudo docker run --ulimit memlock=64000000 -d --rm \
-v /usr/local/research:/usr/local/research \
gcr.io/cloud-ingest/tsop-agent:latest \
--project-id=PROJECT_ID \
--agent-pool=AGENT_POOL \
--creds-file=CREDENTIAL_FILE \
--hostname=$(hostname) \
--enable-multipart=false

Ersetzen Sie Folgendes:

  • PROJECT_ID gibt die Projekt-ID an, unter der die Übertragung gehostet wird.
  • CREDENTIAL_FILE: Wenn der Übertragungsagent ein Dienstkonto für die Authentifizierung verwendet, geben Sie den Pfad zu einer JSON-formatierten Dienstkonto-Datei mit Anmeldedaten an.

Alternativ können Sie die erforderlichen Berechtigungen für das Konto widerrufen, das Transfer-Agents autorisiert, also entweder ein Nutzerkonto oder ein Dienstkonto.

Leistung des Übertragungs-Agents maximieren

Die Übertragungsleistung wird von folgenden Variablen beeinflusst:

  • Dateisystemfunktionen.

  • Zugrunde liegende Hardware-Einschränkungen.

    Der Medientyp der Festplatte, der Eingabe-/Ausgabebus und die LAN-Verbindung (Local Area Network) beeinflussen alle die Leistung.

  • WAN-Durchsatz und -Auslastung

    Ein langsameres oder stark ausgelastetes WAN beeinträchtigt die Leistung.

  • Dateieigenschaften.

    Beispielsweise haben viele große Dateien einen höheren Netzwerkdurchsatz als viele kleine Dateien aufgrund des Netzwerk-Overheads.

Aufgrund dieser Variablen können wir die tatsächliche Leistung nicht vorhersagen oder eine optimale Anzahl zu verwendender Agents nennen.

Sie sollten mindestens drei Agents auf verschiedenen Computern verwenden, damit Ihre Übertragung fehlertolerant bleibt. Sie können Übertragungs-Agents während der Ausführung von Übertragungen hinzufügen, wenn die Leistung dynamisch steigt.

Gehen Sie so vor, um die Auswirkungen des Hinzufügens von Agents zu beobachten und die für Ihre Umgebung geeignete Anzahl von Agents auszuwählen:

  1. Starten Sie eine große Übertragung, deren Ausführung mindestens eine Stunde dauert. Sie können beispielsweise eine Übertragung beginnen, die mindestens 100.000 Dateien enthält und mindestens 100 GB groß ist.

  2. Verwenden Sie Cloud Monitoring, um den gesamten Agent-Durchsatz zu beobachten.

  3. Warten Sie, bis der Durchsatz deaktiviert ist, und bestimmen Sie, ob Sie durch Ihre WAN-Kapazität oder Ihre Bandbreitenobergrenze eingeschränkt sind.

  4. Wenn Ihre WAN-Kapazität noch nicht erschöpft ist und das gewünschte Übertragungslimit noch nicht erreicht wurde, können Sie einen weiteren Agent hinzufügen. Der zusätzliche Agent erhöht automatisch den Übertragungsdurchsatz. Warten Sie ungefähr drei Minuten, bis der Durchsatz in Cloud Monitoring stabil ist.

Wiederholen Sie die Schritte 3 und 4, um jeweils nur einen Agent hinzuzufügen, bis Sie das gewünschte Limit erreichen. Solange Rechen-, Dateisystem- und Netzwerkressourcen verfügbar sind, können Sie pro Agent-Pool bis zu 100 Agents ausführen.

Wenn die ausgehende Bandbreite erschöpft ist, bevor Sie Ihr gewünschtes Limit erreichen, haben Sie folgende Möglichkeiten:

Wenn Sie Agents hinzugefügt haben, der Durchsatz aber nicht zunimmt und Ihr WAN nicht erschöpft ist, prüfen Sie den Dateisystemdurchsatz. In seltenen Fällen ist der Dateisystemdurchsatz erschöpft und damit die Fähigkeit eingeschränkt, die Übertragungsleistung zu steigern.

Agents benennen

Beim Benennen von Agents empfehlen wir Folgendes:

  • Geben Sie in Ihrem Agent immer den Hostnamen an. Dies hilft Ihnen dabei, die Maschine zu finden, auf der ein Agent ausgeführt wird. Wir empfehlen die Übergabe von --hostname=$(hostname) an den Docker-Befehl run.

  • Wählen Sie ein Agent-Präfixschema aus, mit dem Sie Agents im Kontext Ihrer Monitoring- und Infrastrukturorganisation identifizieren können. Beispiel:

    • Wenn Sie drei separate Übertragungsprojekte haben, können Sie den Namen des Teams in Ihren Agent aufnehmen. z. B. logistics

    • Wenn Sie zwei verschiedene Übertragungsprojekte für zwei verschiedene Rechenzentren ausführen, können Sie den Namen des Rechenzentrums in das Agent-Präfix aufnehmen. z. B. omaha