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:
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.
Einzelne Quellordner auf 1 Million Dateien beschränken. 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 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.
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, einen Wert von 7 Tagen für age
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 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 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:
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.
Verwenden Sie Cloud Monitoring, um den gesamten Agent-Durchsatz zu beobachten.
Warten Sie, bis der Durchsatz deaktiviert ist, und bestimmen Sie, ob Sie durch Ihre WAN-Kapazität oder Ihre Bandbreitenobergrenze eingeschränkt sind.
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-Befehlrun
.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