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 groß angelegter, durchsatzoptimierter Dienst, damit die Leistung bei sehr kleinen Test-Datasets nicht aussagekräftig ist. großen Datasets in der Produktion analysieren.

  • Beschränken Sie die einzelnen Quellordner auf eine Million Dateien. Verzeichnisse die die gesamte Übertragung verlangsamen können.

  • 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 Sie Daten von einem POSIX-Dateisystem zu Cloud Storage oder zwischen POSIX-Dateisysteme. Aktivieren Sie mehrteilige Uploads Mehrteilige Uploads können Übertragungen mit großen Dateien um bis zu 300 % beschleunigen indem Sie große Dateien (> 1 GiB) in kleinere Teile aufteilen und Teile parallel zueinander.

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

Mehrteilige Uploads aktivieren

So aktivieren Sie mehrteilige Uploads:

  • Sie müssen die erforderlichen Berechtigungen gewähren, um dem Konto, das Übertragungs-Agents autorisiert, entweder ein Nutzerkonto oder einen Dienst Konto.

  • Das Ziel oder der Zwischen-Bucket darf keine Aufbewahrungsrichtlinie haben oder Objekt-Hold.

Nach der Aktivierung verwendet Storage Transfer Service mehrteilige Uploads automatisch, damit die Übertragung beschleunigt wird.

Mehrteilige Regeln für den Objektlebenszyklus konfigurieren

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

Wir empfehlen, für age den Wert 7 Tage festzulegen.

Mehrteilige Uploads deaktivieren

Installieren Sie die Übertragungs-Agents mit docker run neu, um mehrteilige Uploads zu deaktivieren 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 ID des Projekts an, das gehostet wird. der Übertragung.
  • CREDENTIAL_FILE: wenn der Übertragungs-Agent eine Dienstkonto für die Authentifizierung: Geben Sie den Pfad zu einem JSON-formatierten Dienstkonto-Anmeldedatendatei.

Alternativ können Sie im folgenden Abschnitt die erforderlichen Berechtigungen widerrufen. dem Konto, das Übertragungs-Agents autorisiert, entweder ein Nutzerkonto oder einen Dienst Konto.

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