Эффективно переместить много небольших файлов в Amazon S3 - PullRequest
4 голосов
/ 28 декабря 2011

У меня около 60 000 небольших файлов изображений (общий размер 200 МБ), которые я хотел бы переместить из репозитория моего проекта в Amazon S3.

Я пробовал s3fs (http://code.google.com/p/s3fs/), монтирование S3 через Transmit на Mac OS X, а также загрузчик веб-страниц Amazon AWS S3. К сожалению, кажется, что все это займет очень много времени, больше суток или два, чтобы выполнить задачу.

Есть ли лучший способ?

Ответы [ 3 ]

4 голосов
/ 28 декабря 2011

Есть несколько вещей, которые могут ограничивать поток данных, и у каждого есть свой способ облегчить его:

  1. Возможно, ваша заявка на перевод добавляет дополнительные издержки. Если s3fs слишком медленный, вы можете попробовать другие варианты, такие как вкладка S3 на консоли AWS или такой инструмент, как s3cmd.

  2. Задержка в сети между вашим компьютером и S3 и задержка в ответах на вызовы API могут стать серьезным фактором того, сколько вы можете сделать в одном потоке. Ключом к решению этой проблемы является одновременная загрузка нескольких файлов (десятков).

  3. У вас может быть медленное сетевое соединение между вами и S3, что накладывает ограничение на общую возможную скорость передачи данных. Если вы можете сжать файлы, вы можете загрузить их в сжатой форме во временный экземпляр EC2, а затем распаковать и загрузить из экземпляра на S3.

Моя ставка на номер 2, которую не всегда легко решить, если у вас нет инструментов загрузки, которые будут распараллеливаться для вас.

2 голосов
/ 28 декабря 2011

Джефф Этвуд несколько лет назад сделал сообщение в блоге под названием Использование Amazon S3 в качестве службы размещения изображений . Его решение для аналогичной проблемы (хостинг изображений обычно состоит из размещения множества небольших файлов) заключалось в использовании S3Fox Organizer для Firefox .

Чтобы ответить на предыдущий ответ, Amazon S3 не позволяет разархивировать ваши файлы (для этого вам потребуется загрузить, распаковать и повторно загрузить).

1 голос
/ 16 августа 2013

Мы создали инструмент для нашего проекта с аналогичными требованиями. Вы можете скачать его здесь:

https://github.com/mshytikov/s3files

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...