Я использую 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:
вот traceroute на сервер, на который он загружает (согласно tcpdump
).
# traceroute s3-1-w.amazonaws.com. traceroute к s3-1-w.amazonaws.com. (72.21.194.32), максимум 30 прыжков, 60-байтовые пакеты 1 207.99.1.13 (207.99.1.13) 0,635 мс 0,743 мс 0,723 мс 2 207,99,53,41 (207,99,53,41) 0,683 мс 0,865 мс 0,915 мс 3 vlan801.tbr1.mmu.nac.net (209.123.10.9) 0,397 мс 0,541 мс 0,527 мс 4 0.e1-1.tbr1.tl9.nac.net (209.123.10.102) 1.400 мс 1.481 мс 1.508 мс 5 0.gi-0-0-0.pr1.tl9.nac.net (209.123.11.62) 1,602 мс 1,677 мс 1,699 мс 6 equinix02-iad2.amazon.com (206,223,115,35) 9,393 мс 8,925 мс 8,900 мс 7 72.21.220.41 (72.21.220.41) 32.610 мс 9.812 мс 9.789 мс 8 72.21.222.141 (72.21.222.141) 9,519 мс 9,439 мс 9,443 мс 9 72.21.218.3 (72.21.218.3) 10.245 мс 10.202 мс 10.154 мс 10 * * * 11 * * * 12 * * * 13 * * * 14 * * * 15 * * * 16 * * * 17 * * * 18 * * * 19 * * * 20 * * * 21 * * * 22 * * * 23 * * * 24 * * * 25 * * * 26 * * * 27 * * * 28 * * * 29 * * * 30 * * *
Задержка выглядит разумной, по крайней мере до тех пор, пока сервер не перестанет отвечать на запросы ping.
amazon-web-services
amazon-s3
linode
Том Мартинал
источник
источник
traceroute
выглядит? Очередь отправки на вашей стороне TCP-соединения почти заполнена или почти пуста? С помощью нескольких очень простых тестов вы можете быстро сузить проблему.Ответы:
То, что вы можете увеличить скорость до 50 Мбит / с, не означает, что вы всегда будете получать 50 Мбит / с; Сетевой путь к S3, а также задержка также важны.
Если вы сможете использовать загрузку из нескольких частей, вы сможете разбить файл на несколько частей и загрузить его, используя несколько потоков, что, возможно, увеличит скорость загрузки.
источник
iftop
тем, сжатие не имеет значения), что намного ближе к пределу исходящей пропускной способности 50 Мбит / с. Загрузка S3 примерно в пять раз быстрее. Последниеs3cmd
поддерживают загрузку нескольких частей, но загружают их не одновременно, а последовательно. Есть ли лучшая утилита для загрузки на S3?На всякий случай, если кто-нибудь наткнется на это ....
У меня была проблема, из-за которой было очень медленно загружать данные из экземпляра ec2 в корзину s3, что оказалось очень просто - область корзины! Я использовал экземпляры ec2 в северной калифорнии, когда ведро было создано в соответствии с американским стандартом, его было очень медленно переносить, с бакетом, установленным в северную калифорнию, оно было кучей быстрее.
источник
Я видел много тем на форуме о медленной загрузке на S3 с использованием различных клиентов, таких как бесплатные инструменты командной строки (написанные на Python, кстати) и коммерческие.
Хотя у меня нет для вас веских доказательств, переключение клиента S3 (например, Cloud Berry Explorer) может решить вашу проблему. Попытайся! :)
источник