15

Я переношу кучу (20+) больших (1 ГБ +) файлов на мою внешнюю флешку через USB 2.0. Неужели быстрее просто перекинуть их сразу (как по одному, но не дожидаясь окончания предыдущей передачи), чтобы произошло несколько передач, или перевести одну, подождать, пока она не закончится, перенести следующую? , Файлы поступают из разных мест, поэтому я не могу сделать ни одной большой передачи.

Есть ли другие преимущества в том или ином случае, которые стоит рассмотреть?

7 ответов7

18

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

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

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

Если вы не хотите ждать окончания каждой передачи, воспользуйтесь приложением очередей копирования, таким как Teracopy.

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

2

Если целевой диск является твердотельным накопителем, просто имейте в виду, что твердотельные накопители чертовски быстры. (*)

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

Ваше узкое место наверняка будет на целевом диске

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

Здравый смысл (и математика тоже!) Скажем, если у нас очень исходный текст, но мы можем сделать передачу файлов параллельно, поиск заголовка может (хотя и не во многих случаях) быть быстрее, чем сериализация задания.

(*) То есть, как утверждает Ньютон, потому что нет движения головы. Но не следует использовать термин латентность: задержка - это движение головки + задержка вращения диска + время чтения, а в SSD - просто случайное время чтения, которое не зависит от предыдущей позиции чтения, как это делают дисководы.

2

Используя встроенную утилиту копирования файлов в Windows, они оба ужасно медленные. Вы можете рассмотреть возможность использования альтернативного приложения, такого как TeraCopy.

1

Если вы копировали по IP-протоколу (FTP/SCP/Samba/ и т.д.), То копирование одного файла потребовало бы меньше времени, поскольку между каждым файлом было несколько рукопожатий.

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

0

Лучше всего писать один файл за раз.

Скорее всего, вы обнаружите, что пропускная способность вашего флэш-накопителя будет достаточно насыщенной. (Исходный диск вряд ли будет узким местом.) В то время как USB 2.0 может передавать до 480 МБ, ваш флеш-накопитель, вероятно, ограничен ~ 20 МБ. Это означает, что при переносе пары файлов с жесткого диска (дисков) максимальная скорость записи на флэш-накопителе будет максимальной, и каждый файл будет записываться медленнее, поскольку им приходится делиться.

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

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

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

Если исходные файлы из разных источников (вы имеете в виду разные жесткие диски? CD/DVD? сетевой диск? или просто папки?), тогда что вы можете сделать, это использовать специальный инструмент для копирования файлов вместо встроенной функции Windows. Некоторые варианты включают инструмент Microsoft TechNet Robocopy, который также имеет интерфейс GUI, RichCopy (также от TecNet), который является усовершенствованным инструментом на основе Robocopy, и Teracopy, который специализируется на том, чтобы сделать передачу максимально эффективной (и имеет бесплатная версия).

0

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

0

Хорошо, так как ОП специально сказал, что копирует их через USB 2.0 на одну цель, я бы сказал, по одному за раз, независимо от источника.

S = Последовательный. Несколько файловых потоков = накладные расходы.

Но на практике ...

При копировании из нескольких источников время, потерянное для нескольких потоков, будет более чем компенсировано отсутствием необходимости вручную создавать «очередь» копирования. И это проще. ;)

Кроме того, если вы копируете в несколько потоков, и один из них выходит из строя, остальные, вероятно, будут завершены.

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