У меня много файлов изображений, и я хочу загрузить их все (около миллиона в одном каталоге) в файлы RackSpace Cloud самым быстрым и эффективным способом.
Я использую python-cloudfiles
скрипт для их загрузки, но он очень медленный, и я хочу знать разные способы или код скрипта Python.
Вероятно, это очень медленно, потому что для каждой загрузки используется одно соединение. Я думаю, что лучше отправить все файлы в tar и распаковать каталог. но облачные файлы не поддерживают этот способ.
Кто знает другой способ?
Разделите свой набор загрузки, например на 26 наборов по первой букве имени файла, если именование достаточно статистически сбалансировано, и использовать один загрузчик на набор параллельно.
Кстати, у некоторых инструментов облачной загрузки есть проблема с использованием памяти при загрузке огромных наборов файлов, так что следите за этим тоже ...
Если это разовая загрузка, мне нравится турболифт. Просто убедитесь, что вы уменьшили параллелизм, чтобы предотвратить высокую нагрузку на сервер (например, --cc 4
) и используйте --internal
загрузить через Service Net.
turbolift будет использовать много ЦП и ОЗУ, если вы не уменьшите параллелизм (серьезно: вы можете вывести из строя свой сервер, если вы этого не сделаете!). Это здорово, если у вас мощный сервер, но не очень хорошо, если у вас небольшой сервер.