Comment résoudre les problèmes de lenteur ou de perte de vitesse lors du téléchargement ou du chargement sur Amazon S3 ?

Lecture de 6 minute(s)
0

Je souhaite résoudre les problèmes de latence élevée ou de vitesses incohérentes lors du téléchargement ou du chargement vers Amazon Simple Storage Service (Amazon S3) à partir d'un réseau ou d'un ordinateur spécifique.

Résolution

Vérifiez les points suivants pour identifier et atténuer ce qui peut contribuer à des vitesses lentes ou incohérentes lors du téléchargement ou du chargement sur Amazon S3 :

  • Le lieu où se trouve le client qui fait la demande
  • Le fournisseur de services Internet (ISP) du client
  • Le réseau client
  • Les ressources destinées aux clients
  • Le taux de demandes vers Amazon S3
  • Les journaux d'accès au serveur Amazon S3 pour déterminer le délai d'exécution

Le lieu où se trouve le client qui fait la demande

Utilisez des compartiments Amazon S3 aussi proches géographiquement que possible de votre client. Les compartiments sont accessibles dans le monde entier, mais ils se trouvent dans une région AWS spécifique. La distance géographique entre la demande et le compartiment contribue au temps nécessaire à la réception d'une réponse.

Vous pouvez tester l'impact de la distance géographique entre le client et le compartiment S3. Par exemple, vous pouvez lancer une instance Amazon Elastic Compute Cloud (Amazon EC2) dans la même région AWS que le compartiment. Lancez ensuite une autre instance dans une autre région. Testez le chargement et le téléchargement du même fichier à l'aide des deux instances, puis comparez le débit entre les deux régions.

Pour réduire la distance entre le client et le compartiment S3, déplacez vos données dans un compartiment situé dans une autre région plus proche du client. Vous pouvez configurer la réplication entre régions afin que les données du compartiment source soient répliquées dans le compartiment de destination de la nouvelle région. Vous pouvez également envisager de migrer le client plus près du compartiment S3.

Le fournisseur de services Internet (ISP) du client

Vérifiez le chemin de votre réseau pour détecter tout problème affectant la façon dont votre connexion transite par Internet. Ces problèmes peuvent inclure la perte de paquets, un nombre élevé de sauts ou d'autres problèmes liés au FAI.

Des outils tels que mtr et traceroute peuvent aider à fournir des indices en cas de perte potentielle de paquets. Ils peuvent également fournir la latence des paquets envoyés à l'hôte distant. En outre, ces outils peuvent aider à déterminer si un saut réseau entraîne une latence plus élevée.

Par exemple, la commande Linux traceroute suivante utilise le port TCP 80 pour tester la connectivité au point de terminaison régional us-west-2 (Oregon) :

sudo traceroute -P TCP -p 80 s3.us-west-2.amazonaws.com

Sur les systèmes d'exploitation Windows, vous pouvez utiliser un outil similaire appelé tracert.

**Remarque :**De nombreux appareils réseau ne répondent pas à l'ICMP. Pour un test similaire à des requêtes adressées à Amazon S3, veillez à exécuter un traceroute ou un mtr TCP jusqu'au point de terminaison régional du compartiment.

Si la route Internet entre le client et Amazon S3 n'est pas optimale, pensez à utiliser Amazon S3 Transfer Acceleration, qui exploite les emplacements périphériques d'Amazon CloudFront. Consultez l'outil de comparaison des vitesses d'accélération des transferts Amazon S3 pour voir si l'accélération des transferts peut améliorer les performances pour votre cas d'utilisation.

**Remarque :**Si vous activez l'accélération des transferts, des frais de transfert de données supplémentaires peuvent s'appliquer. N'oubliez pas de consulter la tarification d'Amazon S3 pour les transferts de données.

Le réseau client

Vérifiez que votre réseau client est en bon état en passant en revue les inspections internes des paquets, les analyses antivirus ou la gestion de l'accès réseau. Vérifiez également comment votre client ou votre application gère la résolution DNS et la mise en cache.

Pour tirer parti de la nature distribuée et de la disponibilité d'Amazon S3, évitez de mettre en cache la résolution DNS pendant de longues périodes.

Les ressources destinées aux clients

Il se peut qu'une latence soit introduite dans votre application ou dans la manière dont l'hôte qui effectue les demandes gère les demandes envoyées et les réponses reçues. La meilleure pratique consiste à vérifier qu'aucun conflit de ressources au sein de l'hôte n'est susceptible de contribuer à la latence globale. Par exemple, le conflit de ressources au sein de l'hôte peut être lié au processeur, à la mémoire ou à la bande passante du réseau.

Vous pouvez vérifier l'utilisation des ressources pendant le transfert de données sur la plupart des systèmes clients à l'aide d'outils tels que Resource Monitor ou la commande supérieure. Les outils disponibles dépendent de votre système d'exploitation.

Le périphérique ou le système de stockage du client peut également être une source de latence. Les opérations de lecture ou d'écriture sur le périphérique de stockage du client qui présentent une latence élevée peuvent avoir un impact sur les performances du téléchargement ou du chargement vers Amazon S3. Vous devez résoudre les problèmes d'IOPS du périphérique de stockage côté client. Vous pouvez analyser les performances d'Amazon S3 à l'aide de la métrique FirstByteLatency d'Amazon CloudWatch.

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

FirstByteLatency indique le temps nécessaire à Amazon S3 pour traiter la demande du client, puis commencer à envoyer la réponse au client. La métrique CloudWatch fournit une perspective des performances au niveau du compartiment. Vous pouvez affiner votre enquête à l'aide des journaux d'accès au serveur Amazon S3. Pour plus d'informations, consultez la section Journaux d'accès au serveur Amazon S3 pour déterminer le délai d'exécution.

Le taux de demandes vers Amazon S3

Par défaut, les compartiments S3 peuvent prendre en charge des milliers de requêtes par seconde et par préfixe. Si un client reçoit des réponses d'erreur HTTP 5xx de la part d'Amazon S3, cela peut indiquer que le taux de demandes par préfixe pris en charge est dépassé. Pour résoudre les erreurs 5xx, consultez Comment résoudre une erreur HTTP 500 ou 503 provenant d'Amazon S3 ?

Les journaux d'accès au serveur Amazon S3 pour déterminer le délai d'exécution

Vous pouvez activer la journalisation des accès au serveur Amazon S3 pour consulter les métriques relatives aux délais d'exécution. Le délai d'exécution est le délai entre la réception du dernier octet de la demande et l'envoi du premier octet de la réponse. Il s'agit d'une métrique TTFB (Time To First Byte). Vous pouvez utiliser le délai d'exécution pour déterminer la durée de l'opération du point de vue d'Amazon S3. Vous pouvez ensuite évaluer d'autres latences extérieures à Amazon S3 susceptibles de contribuer à la lenteur générale du téléchargement ou du chargement.

Si vous constatez une latence plus élevée que d'habitude, il est recommandé de réessayer la demande au lieu d'attendre qu'elle soit terminée. Pour plus d'informations sur ces instructions et d'autres recommandations en matière de performances, consultez les directives de performances pour Amazon S3.

AWS OFFICIEL
AWS OFFICIELA mis à jour il y a un an