Ich verwende s3cmd
zum Hochladen auf 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
Ich lade von Linode hoch, das laut Support eine ausgehende Bandbreitenbeschränkung von 50 MB / s hat (ungefähr 6 MB / s).
Warum bekomme ich so langsame Upload-Geschwindigkeiten für S3 und wie kann ich sie verbessern?
Aktualisieren:
Das Hochladen derselben Datei über SCP auf eine m1.medium EC2-Instanz (SCP von meinem Linode auf das EBS-Laufwerk der Instanz) ergibt ungefähr 44 MBit / s iftop
(jegliche Komprimierung durch die Verschlüsselung ist kein Faktor).
Traceroute:
Hier ist eine Traceroute zu dem Server, zu dem es hochgeladen wird (entsprechend tcpdump
).
# traceroute s3-1-w.amazonaws.com. traceroute zu s3-1-w.amazonaws.com. (72,21,194,32), maximal 30 Hops, 60 Byte-Pakete 1 207.99.1.13 (207.99.1.13) 0.635 ms 0.743 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.e1-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 72.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 * * * 11 * * * 12 * * * 13 * * * 14 * * * 15 * * * 16 * * * 17 * * * 18 * * * 19 * * * 20 * * * 21 * * * 22 * * * 23 * * * 24 * * * 25 * * * 26 * * * 27 * * * 28 * * * 29 * * * 30 * * *
Die Latenz sieht vernünftig aus, zumindest bis der Server nicht mehr auf Ping-Anfragen reagiert.
amazon-web-services
amazon-s3
linode
Tom Marthenal
quelle
quelle
traceroute
aus? Ist die Sendewarteschlange auf Ihrer Seite der TCP-Verbindung fast voll oder fast leer? Mit ein paar sehr einfachen Tests können Sie das Problem schnell eingrenzen.Antworten:
Nur weil Sie bis zu 50 MBit / s erreichen können, bedeutet dies nicht, dass Sie immer 50 MBit / s erhalten. Der Netzwerkpfad zu S3 sowie die Latenz sind ebenfalls wichtig.
Wenn Sie einen mehrteiligen Upload verwenden können, können Sie eine Datei in mehrere Teile aufteilen und mithilfe mehrerer Threads hochladen, wodurch möglicherweise die Upload-Geschwindigkeit erhöht wird.
quelle
iftop
, also spielt die Komprimierung keine Rolle), was der ausgehenden Bandbreitenbeschränkung von 50 Mbit / s viel näher kommt. S3-Uploads sind etwa ein Fünftel so schnell. Die neuesten Versionens3cmd
unterstützen mehrteilige Uploads, laden diese jedoch nicht gleichzeitig, sondern nacheinander hoch. Gibt es ein besseres Dienstprogramm zum Hochladen auf S3?Nur für den Fall, dass jemand darüber stolpert ...
Ich hatte ein Problem, bei dem das Hochladen von einer ec2-Instanz in einen s3-Bucket sehr langsam war. Es stellte sich als sehr einfach heraus, die Region des Bucket! Ich habe ec2-Instanzen in Nordkalifornien verwendet. Als der Bucket gemäß unserem Standard erstellt wurde, war die Übertragung sehr langsam. In Nordkalifornien war der Bucket sehr viel schneller.
quelle
Ich habe viele Threads in einem Forum über langsames Hochladen auf S3 mit verschiedenen Clients gesehen, z. B. die kostenlosen Befehlszeilentools (geschrieben in Python, btw) und kommerzielle.
Obwohl ich keine konkreten Beweise für Sie habe, könnte ein Wechsel des S3-Clients (z. B. Cloud Berry Explorer) Ihr Problem lösen. Versuch es! :)
quelle