1

У меня есть каталог с огромным количеством изображений в формате JPEG (более 300 000 файлов), которые являются частью проекта. Это своего рода кошмар для резервного копирования и перемещения - не из-за размера (всего ~ 3 ГБ), который достаточно велик, но все же управляем, но из-за количества файлов. Их копирование занимает безумное количество времени и значительно замедляет любую процедуру резервного копирования / копирования.

Поскольку я должен хранить эти файлы, я решил объединить их в какой-то архив. Я пытаюсь WinRar с "хранением" сжатия, но это довольно медленно. На моей машине разработчика (2xSAS жестких дисков в Raid-0, двойной i7) оценка составляет около 100 минут.

Это не так уж плохо, и на этот раз я готов подождать (это разовая операция), но мне интересно знать, есть ли более быстрые способы сделать это в случае, если у меня возникнет такая же потребность в будущем (с меньшими затратами мощная машина и меньше времени).

1 ответ1

3

Я так не думаю. Узким местом здесь будет скорость шины и накладные расходы на доступ к файлам. Вот почему копирование многих файлов занимает гораздо больше времени, чем один файл одинакового размера.

Опция "store" в Winrar определенно ускорит его, но создание архива на том же диске, где хранятся файлы, также замедлит его. Создание архива на внешнем устройстве также снизит производительность.

В идеале вам нужно настроить сценарий резервного копирования с помощью инструмента синхронизации (например, rsync), который будет создавать резервные копии только новых и измененных файлов, что значительно сокращает время до завершения.

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

Для такого большого объема файлов вам понадобится выделенный накопитель, предпочтительно быстрый (10K+ об / мин) и предпочтительно внутри выделенного файлового сервера.

Вас также может заинтересовать порт windows tar. Tar - это быстрый архиватор, который предназначен для сброса всех файлов в один архив .tar без какого-либо сжатия.

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