Wie optimiere ich die Leistung, wenn ich AWS CLI verwende, um große Dateien auf Amazon S3 hochzuladen?
Ich möchte die Leistung optimieren, wenn ich das AWS Command Line Interface (AWS CLI) verwende, um große Dateien (1 GB oder größer) auf Amazon Simple Storage Service (Amazon S3) hochzuladen.
Kurzbeschreibung
Wenn du große Dateien auf Amazon S3 hochlädst, empfiehlt es sich, mehrteilige Uploads zu nutzen. Wenn du die AWS-CLI verwendest, führen alle hochrangigen aws s3-Befehle automatisch einen mehrteiligen Upload durch, wenn das Objekt groß ist. Zu diesen hochrangigen Befehlen gehören aws s3 cp und aws s3 sync.
Wähle eine der folgenden Methoden aus, um die Leistung zu optimieren:
- Verwende den auf AWS Common Runtime (CRT) basierenden Client und passe dann die Konfigurationen für den mehrteiligen Upload an.
- Aktiviere Amazon S3 Transfer Acceleration.
Wenn du umfangreiche Datenübertragungen oder komplexe Workloads benötigen, verwende den AWS CRT-basierten Client für AWS CLI.
Hinweis:Für diese Methode musst du AWS CLI Version 2 verwenden. Wenn du beim Ausführen von Befehlen in AWS CLI Fehlermeldungen erhältst, findest du weitere Informationen unter Beheben von AWS CLI-Fehlern.
Lösung
Den CRT-basierten Client mit AWS CLI verwenden
Den CRT-basierten Client aktivieren
Um den CRT-basierten Client zu aktivieren, konfiguriere die AWS-CLI. Füge dazu die Konfiguration zu der AWS-CLI-Konfigurationsdatei (~/.aws/config) hinzu oder verwende AWS CLI, um sie festzulegen.
Füge den bevorzugten preferred_transfer_client zu der AWS-CLI-Konfigurationsdatei hinzu:
[default] s3 = preferred_transfer_client = crt
Oder gib den folgenden Befehl in das Terminal ein:
aws configure set default.s3.preferred_transfer_client crt
Die Option target_bandwidth konfigurieren (optional)
Diese Option steuert die Zielbandbreite, die der Transfer-Client für S3-Uploads und -Downloads zu erreichen versucht. Standardmäßig wählt AWS CLI eine Zielbandbreite, die der maximalen Netzwerkbandbreite des Systems entspricht.
Hinweis: Sei vorsichtig, wenn du den Wert target_bandwidth konfigurierst. Wenn der Wert größer ist als die Möglichkeiten der lokalen Client-Ressourcen, könntest du den Client überfordern. Es hat sich bewährt, diese Option auf Null zu belassen.
Nachdem du den CRT-basierten Client aktiviert hast, verwendet AWS CLI den Client automatisch für Amazon S3-Operationen, einschließlich Datei-Uploads. Dies verbessert die Leistung und Zuverlässigkeit im Vergleich zur standardmäßigen AWS-CLI, insbesondere bei großen Datei-Uploads.
Die Upload-Konfigurationen anpassen
Passe die AWS-CLI-Konfigurationen für Amazon S3 mit diesen Einstellungen an:
- max_concurrent_requests Dieser Wert legt die Anzahl der Anfragen fest, die gleichzeitig an Amazon S3 gesendet werden können. Der Standardwert ist 10.
Hinweis: Wenn du mehr Threads ausführst, verbraucht der Computer mehr Ressourcen. Du musst sicherstellen, dass der Computer über genügend Ressourcen verfügt, um die gewünschte maximale Anzahl gleichzeitiger Anfragen zu unterstützen. - max_queue_size Dieser Wert legt die maximale Anzahl von Aufgaben in der Warteschlange fest. Der Standardwert ist 1000.
- multipart_threshold Dieser Wert legt den Größenschwellenwert für mehrteilige Uploads einzelner Dateien fest. Der Standardwert beträgt 8 MB.
- multipart_chunksize Dieser Wert legt die Größe jedes Teils fest, den die AWS CLI in einem mehrteiligen Upload für eine einzelne Datei hochlädt. Mit dieser Einstellung kannst du eine größere Datei (z. B. 300 MB) in kleinere Teile zerlegen, um schnellere Upload-Geschwindigkeiten zu erzielen. Der Standardwert beträgt 8 MB.
Hinweis: Ein mehrteiliger Upload erfordert, dass eine einzelne Datei in weniger als 10 000 verschiedenen Teilen hochgeladen wird. Sei sicher, dass die von dir festgelegte Chunk-Größe die Größe der Teildatei und die Anzahl der Teile ausgleicht. - max_bandwidth Dieser Wert legt die maximale Bandbreite für das Hochladen von Daten auf Amazon S3 fest. Es gibt keinen Standardwert.
Amazon S3 Transfer Acceleration aktivieren
Amazon S3 Transfer Acceleration bietet schnelle und sichere Übertragungen über große Entfernungen zwischen dem Client und Amazon S3. Transfer Acceleration verwendet die global verteilten Edge-Standorte von Amazon CloudFront.
Bei Transfer Acceleration fallen zusätzliche Gebühren an. Überprüfe daher unbedingt die Preise. Überprüfe das Tool Amazon S3 Transfer Acceleration Speed Comparison um festzustellen, ob Transfer Acceleration die Übertragungsgeschwindigkeiten für den Anwendungsfall verbessert.
Hinweis: Transfer Acceleration unterstützt CopyObject-Kopien in AWS-Regionen nicht.
Ähnliche Informationen
- Themen
- Storage
- Sprache
- Deutsch
Ähnliche Videos


Relevanter Inhalt
AWS OFFICIALAktualisiert vor einem Jahr