Я использую s3cmd
для загрузки в 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
Я загружаю из Linode, у которого ограничение исходящей пропускной способности составляет 50 Мбит / с согласно поддержке (примерно 6 МБ / с).
Почему у меня такие низкие скорости загрузки в S3 и как их улучшить?
Обновить:
Загрузка того же файла через SCP в экземпляр m1.medium EC2 (SCP с моего Linode на диск EBS этого экземпляра) дает около 44 Мбит / с в соответствии с iftop
(любое сжатие, выполняемое шифром, не имеет значения).
Traceroute: Вот трассировка к серверу, на который он загружается (согласно tcpdump
).
# traceroute s3-1-w.amazonaws.com. traceroute to s3-1-w.amazonaws.com. (72.21.194.32), 30 hops max, 60 byte packets 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 * * *
Задержка выглядит разумной, по крайней мере, до тех пор, пока сервер не перестанет отвечать на запросы ping.
На всякий случай кто-нибудь наткнется на это ....
У меня была проблема, когда загрузка из экземпляра ec2 в ведро s3 была очень медленной, оказалось очень просто, область ведра! Я использовал экземпляры ec2 в северной калифорнии, когда ковш создавался как стандартный для нас, он был очень медленным для передачи, с ведром, установленным на северную калифорнию, это было намного быстрее.
То, что вы можете увеличить скорость до 50 Мбит / с, не означает, что вы всегда будете получать 50 Мбит / с; Также важны сетевой путь к S3, а также время задержки.
Если вы можете использовать загрузку из нескольких частей, вы сможете разбить файл на несколько частей и загрузить его с помощью нескольких потоков, возможно, увеличив скорость загрузки.
Я видел много тем на форуме о медленной загрузке в S3 с использованием различных клиентов, таких как бесплатные инструменты командной строки (написанные на Python, кстати) и коммерческие.
Хотя у меня нет веских доказательств для вас, переключение клиента S3 (например, Cloud Berry Explorer) может решить вашу проблему. Попытайся! :)