Загрузка большого файла на s3 занимает слишком много времени при использовании консоли - PullRequest
1 голос
/ 29 сентября 2019

Попытка загрузки файла размером ~ 220 МБ на s3.Я пытался сделать это через консоль aws, и это заняло много времени.Скорость загрузки была в среднем около 500 Кбит / с.Я знаю, что это не является узким местом из-за моей сети, потому что я могу загрузить этот же файл в консоль Google Drive примерно за 47 секунд.

Я попытался загрузить в тот же каталог через aws s3 cli иэто намного быстрее ~ 2 минуты.Мне было интересно, если есть какие-либо проблемы с загрузкой прямо на консоли S3.Я также думаю, что это было бы риском, потому что я хочу, чтобы мое приложение могло загружать на s3 с помощью подписанного URL, но это занимает время, аналогичное времени загрузки консоли.

GoogleЗагрузка диска: 49 секунд

Загрузка консоли S3: ДЕЙСТВИТЕЛЬНО МЕДЛЕННО (> за 10 минут до того, как я сдался).

AWS cli (без пользовательских настроек): ~ 2 минуты.

Загрузка через мой интерфейс: (похоже на время загрузки консоли s3).

1 Ответ

3 голосов
/ 29 сентября 2019

Вы должны использовать S3 Multipart API для загрузки больших файлов в S3.

Multipart upload API позволяет загружать большие объекты по частям.Вы можете использовать этот API для загрузки новых больших объектов или создания копии существующего объекта.

Причина, по которой загрузка CLI происходит быстрее, поскольку он автоматически использует составной API для больших объектов.

Рекомендуется использовать команды aws s3 (например, aws s3 cp) для многоэтапных загрузок и загрузок, поскольку эти команды aws s3 автоматически выполняют многоэтапную загрузку и загрузку в зависимости от размера файла.

Источник: https://docs.aws.amazon.com/AmazonS3/latest/dev/qfacts.html

...