2

У меня есть около 80 ГБ данных, которые мне нужно скопировать на внешний жесткий диск. Будет ли быстрее сначала сжать все файлы, а потом скопировать? Или время, которое потребуется для сжатия и распаковки, займет больше времени, чем сэкономит время копирования?

Я собираюсь переустановить Windows, так что в основном документы, картинки, видео и т.д. И один внешний вид. PST резервной копии файла. И есть 28,284 файлов.

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

4 ответа4

5

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

Это также означает, что данные должны передаваться по проводам точно так, как они предназначены для отображения на жестком диске. Нет схемы, которая сжимает данные на хосте, отправляет сжатые данные по USB-соединению и затем прозрачно распаковывается непосредственно перед тем, как теперь необработанные, несжатые данные будут сохранены на физическом носителе. Таким образом, вам нужно либо сжимать данные заранее на исходном диске, либо прыгать через ухищрения (например, вставляя NAS между и используя сетевой протокол сжатия).

Кроме того, если у вас нет очень специфических данных, которые хорошо сжимаются, вероятно, вы получите очень плохие коэффициенты сжатия. Если основная часть 80 ГБ состоит из видео, изображений и т. П., Вы можете даже получить отрицательные соотношения, поскольку они уже сильно сжаты с использованием очень специализированных алгоритмов.

В любом случае, получение какой-либо значительной степени сжатия влечет за собой большое количество процессорного времени. Вы можете получить приблизительную оценку того, насколько сильно это будет стоить, с помощью простого эксперимента: просто попробуйте сжать любой файл размером 1 ГБ с 7zip при самых высоких настройках и измерить время. Затем измерьте, сколько времени потребуется для распаковки результата.

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

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

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

Если все, что вы хотите сделать, это передать данные с исходного диска на внешний диск, то, скорее всего, к тому времени, когда вы получите ответ, копия уже закончена. :o) Тем более, что 80 ГБ уже не так уж важны; при условии приблизительного числа 10 МБ / с вы будете ждать менее трех часов. Сжатие 80 ГБ займет гораздо больше времени.


То , что делает заслугу , учитывая , хотя это прерванные переводы. Необходимость перезапуска 80-гигабайтного переноса с отметки 95% и необходимость перезапуска с нуля… раздражает, если не сказать больше. Каноническим инструментом в этом случае является rsync , который может сэкономить вам огромное время, гораздо больше, чем может дать сжатие. Цена - это небольшая инвестиция в то, как ее использовать, но вы не будете терять производительность при чтении данных впоследствии, что является большим плюсом.

TL; DR: Из того, что я понял из вашего вопроса, rsync (или аналогичный) - это путь. За исключением очень специфических обстоятельств, сжатие будет большой тратой времени.

1

И да и нет. Это действительно зависит от того, что вы сжимаете и каков метод сжатия. Возможно, стоит сжать 80 ГБ данных, если они останутся в этом сжатом состоянии. Если вы хотите иметь быстрый доступ к этим данным, то нет, сжатие только помешает этой возможности. На самом деле сжатие - это не столько программное обеспечение, сколько аппаратное обеспечение, поскольку оно зависит от производительности сервера или компьютера, на котором вы выполняете сжатие.

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

1

Это полностью зависит от типа данных, для которых вы создаете резервную копию, а также от устройства, для которого вы создаете резервную копию. У меня есть большое количество сжимаемых данных, которые я регулярно копирую на диск USB 2. Сжатие данных значительно ускоряет передачу, потому что USB 2 существенно медленнее, чем время, необходимое для сжатия данных, и экономия велика.

И наоборот, если у вас быстрый USB3-накопитель или сжатые данные, вы получите меньше преимуществ.

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

Я человек Linux, поэтому я не использовал его, но вы можете получить лучшее из обоих миров (т.е. легко доступные документы, более быстрое время записи), используя сжатие NTFS в вашей файловой системе.

-2

Ответ для вас: нет. Это только быстрее, если вы оставите только один сжатый файл в сжатом формате на внешний файл. Но если вы распакуете файл на том же жестком диске, это будет медленно. Кстати, какие у вас есть файлы и сколько у вас файлов?

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