Wie kann ich langsame Ladezeiten beheben, wenn ich einen Webbrowser verwende, um ein in Amazon S3 gespeichertes Objekt herunterzuladen?

Lesedauer: 3 Minute
0

Ich versuche, ein Objekt von Amazon Simple Storage Service (Amazon S3) mit einem Webbrowser herunterzuladen, aber der Download ist langsam.

Behebung

Um die Ursache für langsame Downloadzeiten von Amazon S3 in einem Webbrowser zu ermitteln, überprüfen Sie die folgenden potenziellen Probleme.

Niedrige Internetbandbreite

Überprüfen Sie die Netzwerkgeschwindigkeit, die Sie von Ihrem Internetdienstanbieter (ISP) erhalten. Wenn die Geschwindigkeit niedriger ist, kann es zu einem Engpass kommen, wenn Sie versuchen, eine Verbindung zum S3-Bucket herzustellen und Objekte herunterzuladen.

Große Objektgröße

Wenn das Herunterladen einiger S3-Objekte länger dauert als das Herunterladen anderer Objekte, überprüfen Sie die Größe der Objekte, deren Download länger dauert. Bei sehr großen Amazon S3-Objekten stellen Sie möglicherweise langsame Downloadzeiten fest, wenn Ihr Webbrowser versucht, das gesamte Objekt herunterzuladen. Versuchen Sie stattdessen, große Objekte mit einer GET-Anfrage mithilfe der Amazon S3-API mit einem bestimmten Bereich herunterzuladen. Da Sie mit einer GET-Anfrage mit einem bestimmten Bereich ein großes Objekt in separaten, kleineren Blöcken herunterladen können, können Sie auf diese Weise Latenz vermeiden.

Geografische Entfernung zwischen den Clients und dem Amazon S3-Bucket

Wenn Sie Kunden aus verschiedenen Teilen der Welt haben, die aus Ihrem S3-Bucket herunterladen, können sich die Standorte dieser Kunden auf die Download-Geschwindigkeit auswirken. Bei Kunden, die geografisch weit von der AWS-Region Ihres Buckets entfernt sind, kann es zu langsameren Downloadzeiten kommen. Um die Downloadzeiten für geografisch weit entfernte Kunden zu verbessern, können Sie die folgenden Maßnahmen ergreifen:

  • Stellen Sie Ihre S3-Objekte von einer Amazon CloudFront-Distribution aus bereit. CloudFront kann Ihre Kunden von einem Edge-Standort aus bedienen, der sich geografisch näher an ihnen befindet, und minimiert so die Latenz.
  • Verschieben Sie Ihren Bucket in eine Region, die geografisch näher an Ihren Kunden liegt. Sie können die cross-Region replication verwenden, um Objekte aus dem Quell-Bucket in den Ziel-Bucket in einer anderen Region zu kopieren.

Zwischenprobleme im Zusammenhang mit dem Netzwerk

Netzwerkprobleme wie Paketverlust, hohe Anzahl von Hops oder andere ISP-bezogene Probleme können die Downloadzeiten von Amazon S3 beeinflussen.

Verwenden Sie Tools wie mtr und traceroute, um festzustellen, ob ein Netzwerkproblem zu den langsamen Downloads beiträgt. Diese Tools können helfen, mögliche Netzwerkprobleme beim Senden von Paketen an einen Remote-Host zu identifizieren. Der folgende traceroute Befehl sendet beispielsweise eine TCP-Traceroute über Port 80 an den Amazon S3-Endpunkt in us-east-1:

sudo traceroute -P TCP -p 80 s3.us-east-1.amazonaws.com

Hinweis: Da viele Netzwerkgeräte nicht über ICMP reagieren, empfiehlt es sich, eine TCP-Traceroute auszuführen.

Ressourcen für Workstations

Stellen Sie sicher, dass auf Ihrer Workstation kein Ressourcenkonflikt besteht (z. B. CPU, Arbeitsspeicher oder Netzwerkbandbreite), der zur allgemeinen Latenz beitragen könnte.

Abhängig von Ihrem Betriebssystem können Sie Tools wie Resource Monitor (von der Microsoft-Website) oder den Befehl top verwenden, um die Ressourcennutzung auf den meisten Client-Systemen zu überprüfen.

Isolieren Sie die Verarbeitungszeit von Amazon S3

Um herauszufinden, was zu den langsamen Downloadzeiten beiträgt, isolieren Sie die Verarbeitungszeit von Amazon S3. Aktivieren Sie die Serverzugriffsprotokollierung und überprüfen Sie dann die Protokolle** für die Gesamtzeit**. Dies zeigt, wie lange Amazon S3 benötigt, um die Anfrage zu verarbeiten.

Sie können auch die Amazon CloudWatch-Metrik FirstByteLatency analysieren. FirstByteLatency zeigt, wie lange es dauert, bis Amazon S3 die Anfrage vom Client verarbeitet und dann die Antwort an den Client sendet. Diese CloudWatch-Metrik bietet eine Leistungsperspektive auf Bucketebene.

**Hinweis:**Amazon S3 CloudWatch-Anforderungsmetriken werden zum gleichen Tarif wie benutzerdefinierte Metriken in Rechnung gestellt.

AWS OFFICIAL
AWS OFFICIALAktualisiert vor einem Jahr