Скопируйте большое количество маленьких BLOB-объектов с помощью AzCopy

Я пытаюсь сделать инкрементную копию ca. 500 000 больших двоичных объектов из одной учетной записи хранения в другую.

Однако кажется, что если я не укажу параметр / Pattern:, AzCopy просто зависнет навсегда, никогда не завершится ... (я фактически остановил процесс примерно через 15 минут).

Полмиллиона (потенциально до 5 миллионов) больших двоичных объектов - это слишком много для обработки AzCopy, или я что-то здесь упускаю?

Команда, которую я использую, выглядит так:

AzCopy /Source:<src>/documents /SourceKey:<srcKey> /Dest:<dest>/documents /DestKey:<deskKey> /S /XO /Y

Добавление параметра / pattern решает эту проблему, но я хотел бы получить полную копию всех BLOB-объектов в контейнере.

Я должен добавить, ему уже удалось скопировать все капли, это последующие прогоны терпят неудачу, когда ему нужно «выяснить», какие капли были добавлены с момента последней полной резервной копии ..


person akrobet    schedule 25.09.2015    source источник
comment
Я бы рекомендовал отслеживать запрос / ответ через что-то вроде Fiddler, чтобы вы знали, что делает AzCopy в этом сценарии, когда, по вашему мнению, он зависает.   -  person Gaurav Mantri    schedule 25.09.2015
comment
Fiddler не может действительно показать связь, так как это https, но я вижу постоянное использование полосы пропускания из AzCopy в мониторе ресурсов, ок. 200 КБ / с при отправке и 400 КБ / с для загрузки на blob.am3prdstr01a.store.core.windows.net. Итак, я предполагаю, что он сравнивает капли в источнике и месте назначения ..?   -  person akrobet    schedule 25.09.2015
comment
Спасибо за совет. Да, изучив трафик с помощью Fiddler, выяснилось, что AzCopy выполняет запросы заголовка для всех BLOB-объектов в целевой учетной записи хранения, один за другим ... HEAD / documents / 152185? Timeout = 300 HTTP / 1.1 Я был под (неправильное) впечатление, что AzCopy выполняет эти операции асинхронно, то есть только между исходным и целевым хранилищами, не задействуя клиентский компьютер, на котором работает azcopy .. Похоже, что это не так ..   -  person akrobet    schedule 25.09.2015


Ответы (1)


Какую версию AzCopy вы используете? Я предполагаю, что эта проблема была исправлена ​​для многих выпусков ... Несколько версий назад AzCopy нужно было перечислить все blob-объекты, которые должны быть загружены, перед началом передачи; в настоящее время AzCopy может выполнять листинг и передачу одновременно.

Чтобы загрузить последнюю версию AzCopy и получить дополнительную информацию, перейдите на страницу http://aka.ms/azcopy.

person Zhaoxing Lu    schedule 25.09.2015
comment
Версия 3.2.0.93. Он может выполнять перечисление и передачу одновременно, но он выполняет перечисление целевых BLOB-объектов по одному, как вы можете видеть в моем комментарии к исходному сообщению. - person akrobet; 26.09.2015
comment
Это по замыслу. Если указан параметр / XO или / XN, AzCopy должен получать целевые большие двоичные объекты один за другим, чтобы получить их LastModifiedTime. - person Zhaoxing Lu; 28.09.2015