Я только что закончил копирование с помощью основного scp большой папки (набор данных размером 80 ГБ для небольших изображений) из Google Cloud с scp (Google Cloud scp, но использует scp) за 15 часов, это много времени.

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

Я также читал , что изменение Cypher параметра может улучшить скорость , но это спорно.

Я также думаю, что, возможно, отправка одного большого файла будет быстрее, чем отправка большого количества маленьких. Таким образом, отправка архива будет быстрее. Также архив сжимается, поэтому его легче и быстрее отправлять, но распаковка также может занять много времени. Сжатие - это единовременная проблема, поэтому я не рассматриваю это.

Итак, какова лучшая стратегия для копирования большой большой удаленной папки?

Спасибо.

Редактировать: в ответ на комментарий, шифрование не требуется, и мое интернет-соединение по оптоволокну, я не знаю точно скорость, но это быстро.

Папка в основном содержит триплеты изображений в pdf (~ 500 КБ) и PNG (одна 1,5 КБ, а другая ~ 100 КБ), она также содержит некоторые модели тензорных потоков и прогнозы, которые мне не нужны, но это не большая часть и Я отделю это от картин в будущем. Это работа человека, который ушел, и я только что получил его обратно. Я также временно нахожусь в компании, и я организую это, чтобы облегчить работу следующего человека.

3 ответа3

1

Используйте RSYNC. Поскольку вы копируете много небольших файлов, rsync будет копировать только те, которые были изменены, что сэкономит огромное количество времени. Rsync обладает большой гибкостью в определении того, как обнаруживать / обрабатывать измененные и удаленные файлы. (Это также тривиально, разрешить сжатие, но это имеет ограниченное преимущество, так как исходные документы выглядят достаточно сжатыми).

0

Sftp и scp ограничены в скорости частично из-за шифрования. Если в этом нет особой необходимости, вы можете настроить FTP-сервер.

Однако вы используете облако Google, поэтому я думаю, что вы хотите использовать команду gsutil cp .

Вы можете найти больше информации здесь

В основном это работает, назначая URL-адрес всему доступному в облаке, как если бы он был локальным. Итак, представьте, что у вас есть корзина с именем example , вы должны использовать следующую команду, чтобы скопировать ее в локальную папку с именем target_folder

gsutil cp - r gs://example target_folder

Вы можете добавить -m после gsutil, если у вас есть несколько небольших файлов для параллельной загрузки!

Если вы впервые используете команду gcloud, выполните команду frist run: gcloud init чтобы авторизовать ее, и выберите правильный проект, в котором находится корзина .

0

На мой взгляд, лучшей стратегией было бы упаковать (без какого-либо сжатия просто сохранить его - декомпрессия была бы быстрой) через, например, rar (добавьте -rr для добавления части восстановления) - в файлы размером 4 ГБ.

Далее вам может понадобиться начать несколько переводов, которые, если у вас достаточно быстрая линия, могут значительно ускорить процесс.

Последнее, что нужно рассмотреть, это избавиться от шифрования, если оно вам не нужно. Используйте простой ftp .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .