web-dev-qa-db-fra.com

Pourquoi le téléchargement sur S3 est-il si lent?

J'utilise s3cmd Pour télécharger sur S3:

# s3cmd put 1gb.bin s3://my-bucket/1gb.bin
1gb.bin -> s3://my-bucket/1gb.bin  [1 of 1]
  366706688 of 1073741824    34% in  371s   963.22 kB/s

Je télécharge à partir de Linode, qui a un capuchon de bande passante sortant de 50 Mo/s en fonction du support (environ 6 Mo/s).

Pourquoi est-ce que je reçois des vitesses de téléchargement aussi lentes sur S3 et comment puis-je les améliorer?


Mise à jour :

Téléchargement du même fichier via SCP sur une instance M1.Medium EC2 (SCP de mon linode au lecteur EBS de l'instance) donne environ 44 mb/s selon iftop (toute compression effectuée par le chiffre n'est pas un facteur) .


traceroute : Voici une traceroute sur le serveur, il téléchargea (selon tcpdump).

# traceroute s3-1-w.amazonaws.com. 
 Traceroute à s3-1-w.amazonaws.com. (72.21.194.32), 30 paquets de houblon max, 60 paquets d'octets [.____] 1 207.99.1.13 (207.99.1.13) 0,635 ms 0,743 ms 0,723 ms 0,723 ms [.____] 2 207.99.53.41 (207.99.53.41) 0.683 MS 0,865 MS 0,915 MS [.____] 3 VLAN801.TBR1.MMU.NAC.NET (209.123.10.9) 0.397 MS 0.541 MS 0.527 MS [.____] 4 0.01-1.TBR1.TL9.NAC.NET (209.123 .10.102) 1,400 ms 1.481 ms 1.508 ms [.____] 5 0.gi-0-0-0.pr1.tl9.nac.net (209.123.11.62) 1.602 MS 1.677 MS 1.699 MS [.____] 6 EQUINIX02 -IAD2.Amazon.com (206.223.115.35) 9.393 MS 8.925 MS 8.900 MS [.____] 7 7.2.21.220.41 (72.21.220.41) 32,610 MS 9.812 MS 9.789 MS [.____] 8 72.21.222.141 (72.21.222.141 ) 9.519 MS 9.439 MS 9.443 MS [.____] 9 72.21.218.3 (72.21.218.3) 10.245 MS 10.202 MS 10.154 MS [.____] 10 * * * [.____] 12 * * * [.____] 13 * * * 
 14 * * * [.____] 15 * * * 
 16 * * * 
 17 * * * [ .____] 18 * * * [.____] 19 * * * [.____] 20 * * * 
 21 * * * 
 22 * ​​* * [. ____] * * * 
 24 * * * [.____] 25 * * * 
 26 * * * 
 27 * * * 
 28 * * * 
 29 * * * [.____] 30 * * *

La latence semble raisonnable, au moins jusqu'à ce que le serveur ait cessé de répondre aux demandes de ping.

12
Tom Marthenal

Juste parce que vous pouvez aller jusqu'à 50 Mbps ne signifie pas que vous obtiendrez toujours 50 Mbps; Le chemin réseau vers S3 ainsi que la latence sont également importants.

Si vous êtes en mesure d'utiliser le téléchargement de plusieurs pièces, vous pourrez casser un fichier en plusieurs morceaux et le télécharger à l'aide de plusieurs threads, éventuellement augmentant la vitesse de téléchargement.

9
gekkz

Juste au cas où quelqu'un trébuche sur ça ....

J'ai eu un problème où il était vraiment lent à télécharger à partir d'une instance EC2 à un seau S3, s'est avéré être vraiment simple, la région du seau! J'utilisais des instances EC2 dans le nord de la Californie, lorsque le seau a été créé comme standard américain, il était vraiment lent à transférer, avec le seau fixé à la Californie du Nord, c'était des tas plus rapidement.

11
rabs

J'ai vu de nombreux threads dans un forum sur le téléchargement lent sur S3 en utilisant divers clients, tels que les outils de ligne de commande gratuits (écrits dans Python, BTW) et ceux commerciaux.

Bien que je n'ai aucune preuve difficile pour vous, la commutation du client S3 (E.G. Cloud Berry Explorer) pourrait résoudre votre problème. Essayez! :)

1
Valentin