Używam s3cmd
do przesłania do 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
Przesyłam z Linode, który ma limit przepustowości wychodzącej 50 Mb / s zgodnie z obsługą (około 6 MB / s).
Dlaczego otrzymuję tak wolne prędkości przesyłania do S3 i jak mogę je poprawić?
Aktualizacja:
Przesłanie tego samego pliku przez SCP do instancji m1.medium EC2 (SCP z mojej Linode na dysk EBS instancji) daje około 44 Mb / s zgodnie z iftop
(jakakolwiek kompresja wykonywana przez szyfr nie jest czynnikiem).
Traceroute:
Oto traceroute do serwera, na który jest przesyłany (zgodnie z tcpdump
).
# traceroute s3-1-w.amazonaws.com. traceroute do s3-1-w.amazonaws.com. (72.21.194.32), maksymalnie 30 przeskoków, 60 bajtów pakietów 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,43 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 * * *
Opóźnienie wygląda rozsądnie, przynajmniej do momentu, gdy serwer przestanie odpowiadać na żądania ping.
amazon-web-services
amazon-s3
linode
Tom Marthenal
źródło
źródło
traceroute
wygląda? Czy kolejka wysyłania po twojej stronie połączenia TCP jest prawie pełna lub prawie pusta? Za pomocą kilku bardzo prostych testów możesz szybko zawęzić problem.Odpowiedzi:
To, że możesz przejść do 50 Mb / s, nie oznacza, że zawsze otrzymasz 50 Mb / s; Ważna jest również ścieżka sieciowa do S3, a także opóźnienie.
Jeśli możesz używać przesyłania wieloczęściowego, będziesz w stanie rozbić plik na wiele części i przesłać go przy użyciu wielu wątków, co może zwiększyć szybkość przesyłania.
źródło
iftop
, więc kompresja nie ma znaczenia), co jest znacznie bliższe limitowi przepustowości wychodzącej 50 Mb / s. Przesyłanie S3 zajmuje około jednej piątej tak szybko. Najnowszes3cmd
obsługuje przesyłanie wieloczęściowe, ale nie przesyła ich jednocześnie, ale zamiast tego kolejno. Czy istnieje lepsze narzędzie do przesyłania do S3?Na wypadek, gdyby ktoś natknął się na to ....
Miałem problem polegający na tym, że przesyłanie z instancji ec2 do segmentu s3 było bardzo powolne. Okazało się, że jest to bardzo prosty region regionu! Używałem instancji ec2 w północnej Kalifornii, kiedy wiadro zostało utworzone jako nasz standard, przesyłanie było bardzo powolne, a zestaw wiader do północnej Kalifornii był o wiele szybszy.
źródło
Widziałem wiele wątków na forum o powolnym przesyłaniu do S3 przy użyciu różnych klientów, takich jak darmowe narzędzia wiersza poleceń (napisane w Python, btw) i komercyjne.
Chociaż nie mam na to żadnych twardych dowodów, zmiana klienta S3 (np. Cloud Berry Explorer) może rozwiązać Twój problem. Spróbuj! :)
źródło