Comment résoudre les problèmes de lenteurs de chargement lorsque j'utilise un navigateur Web pour télécharger un objet stocké dans Amazon S3 ?

Date de la dernière mise à jour : 06/03/2020

J'essaie de télécharger un objet depuis Amazon Simple Storage Service (Amazon S3) à l'aide d'un navigateur Web, mais le téléchargement est lent. Pourquoi cela se produit-il ?

Solution

Vérifiez les éléments suivants pour identifier les causes de ralentissement du téléchargement depuis Amazon S3 à l'aide d'un navigateur Web :

Bande passante Internet faible

Vérifiez le débit du réseau assuré par votre fournisseur d'accès à Internet (FAI). Si la vitesse est inférieure, cela peut créer un goulot d'étranglement lorsque vous essayez de vous connecter au compartiment Amazon S3 pour télécharger des objets.

Objet de taille volumineuse

Si certains objets mettent plus de temps à télécharger, là où d'autres objets se téléchargent à une vitesse normale, vérifiez la taille des objets qui prennent plus de temps à télécharger. Pour les objets Amazon S3 très volumineux, vous pourrez remarquer des ralentissements de téléchargement lorsque votre navigateur Web tente de télécharger l'objet entier. Essayez plutôt de télécharger des objets volumineux avec une requête GET par phases à l'aide de l'API Amazon S3. Une requête GET par phases peut vous aider à éviter la latence, en ce qu'elle vous permet de télécharger un objet volumineux en plusieurs segments distincts de plus petite taille.

Distance géographique entre les clients et le compartiment Amazon S3

Si vos clients qui téléchargent depuis votre compartiment Amazon S3 proviennent de différentes régions du monde, les clients qui sont géographiquement plus éloignés de la région AWS de votre compartiment peuvent rencontrer des lenteurs de téléchargement. Pour réduire les durées de téléchargement des clients géographiquement éloignés, vous pouvez :

  • Diffusez vos objets Amazon S3 à partir d'une distribution Amazon CloudFront. CloudFront peut servir vos clients depuis un emplacement périphérique géographiquement plus proche d'eux, avec pour effet de réduire la latence.
  • Envisagez de migrer votre compartiment vers une région AWS géographiquement plus proche de vos clients. Vous pouvez utiliser Cross-Region Replication pour copier des objets du compartiment source dans le compartiment de destination d'une autre région.

Problèmes intermédiaires liés au réseau

Les problèmes liés au réseau tels que la perte de paquets, le nombre élevé de bonds ou tout autre problème lié aux FAI, peuvent affecter les durées de téléchargement d'Amazon S3 par le biais d'un navigateur Web.

Pour déterminer si un problème de réseau affecte la vitesse de téléchargement, vous pouvez utiliser des outils tels que mtr et traceroute. Ces outils peuvent vous aider à identifier les potentiels problèmes de réseau lors de l'envoi de paquets à un hôte distant. Par exemple, la commande traceroute suivante envoie un traceroute de TCP au point de terminaison Amazon S3 dans us-east-1 via le port 80 :

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

Remarque : il est recommandé d'exécuter un traceroute du TCP, car de nombreux périphériques réseau ne répondent pas via ICMP.

Ressources de poste de travail

Vérifiez qu'il n'y a pas de conflit de ressources au sein de votre poste de travail (par exemple, processeur, mémoire ou bande passante réseau) pouvant contribuer à la latence globale.

Vous pouvez vérifier l'utilisation des ressources sur la plupart des systèmes clients à l'aide d'outils tels que Resource Monitor ou la commande supérieure en fonction de votre système d'exploitation.

Isoler la durée de traitement depuis Amazon S3

Pour vous aider à identifier les causes de ralentissement du téléchargement, vous pouvez isoler les durées de traitement d'Amazon S3. Vous pouvez activer l'historique des accès au serveur, puis consulter les journaux en cherchant Durée Totale, qui indique combien de temps Amazon S3 a pris pour traiter la demande.

De plus, vous pouvez analyser la métrique FirstByteLatency d'Amazon CloudWatch. FirstByteLatency montre combien de temps il a fallu à Amazon S3 pour traiter la requête du client, puis commencer à envoyer la réponse au client. La métrique CloudWatch renseigne sur les performances au niveau du compartiment.

Remarque : les métriques de requête Amazon S3 CloudWatch sont facturées au même tarif que les métriques personnalisées.


Cet article vous a-t-il été utile ?

Cette page peut-elle être améliorée ?


Vous avez besoin d’aide ?