Що швидше, копіюючи все одно або одну річ за один раз?


17

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

Чи є якісь переваги тому чи іншому способу, які варто розглянути?


Скільки коштує "Пучок"
Моаб

20+, питання оновлено.
fredley

6
Тут є дуже цікаві теоретичні відповіді, але я хотів би побачити деякі реальні дані. Як ми могли встановити надійний тест?
Попс

Відповіді:


19

Якщо вони надходять з різних фізичних дисків, але записані на твердотільний накопичувач (флеш, SSD), ви можете скопіювати їх одночасно.

Фізичний рух голови (затримка) - це те, що сповільнить передачу з обертового блюдого диска. Якщо ви копіювали з одного жорсткого диска, ви б почали одну велику передачу, а не безліч малих. Головка, що переходить вперед і назад між двома або більше файлами, які копіюються, - це те, що сповільнює передачу. Звичайно, ви отримали б такий самий ефект, якби жорсткий диск був сильно фрагментований, навіть якщо ви копіювали один файл.

Якби це було між твердотільними накопичувачами, то це не мало значення.

Якщо ви не хочете чекати завершення кожної передачі, використовуйте додаток для черги копій, наприклад, Teracopy .

Звичайно, швидкість запису флеш-пам'яті була б вузьким місцем, тому, мабуть, не має значення, яким саме способом ви це зробите. :)


1
Відмінна відповідь, хоча я віддаю перевагу FastCopy сам. :-)
afrazier

Теракопія чудова! Мені подобається те, як він автоматично замінює систему копіювання файлів Windows. Масивне збільшення швидкості дякую!
fredley

Хоча це звучить логічно, і це я особисто думаю. але практика доводить інше, у мене є флеш-пам'ять USB, яка копіює один файл (з SSD) зі швидкістю 30 Мб / с, але коли я намагаюся копіювати три файли одночасно в одному середовищі, швидкість падає до 2,5 Мб / с. за кожну нитку копії. Так швидкість знижується до 7,5 Мб / с з 30 МБ / с.
Сизіф

2

Якщо цільовий диск - це SSD, просто пам’ятайте, що SSD - це, про що тут йдеться, чорт забирай . (*)

Якщо пункт призначення є повільнішим (від спалаху з не надто високою швидкістю запису від SATA3 HDD до магнітної стрічки), ви повинні чергувати передачі, по черзі.

Ваше вузьке місце напевно буде на диску призначення

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

Здоровий глузд (і математика теж!) Говорить про те, що якщо у нас є дуже джерело, але ми можемо паралельно перенести файли, пошук голови може бути (не у багатьох сценаріях) швидшим, ніж серіалізація завдання.

(*) Тобто, як стверджує nnewton, тому що немає руху голови. Але чи не слід використовувати термін затримки : затримка - це рух голови + затримка обертання диска + час читання, а в 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

Гаразд, оскільки ОП спеціально сказав, що він копіює їх через USB 2.0 до однієї цілі, я мушу сказати по черзі, незалежно від джерела.

S = Серійний. Кілька потоків файлів = накладні витрати.

Але на практиці ...

При копіюванні з декількох джерел час, втрачений у декількох потоках, буде перевищувати час, не створюючи копію "черги" вручну. І простіше. ;)

Крім того, якщо ви копіюєте в декілька потоків і один не вдався, решта, ймовірно, завершиться.


0

Час електронної обробки, збережений, завантажуючи їх окремо, повинен бути помітним, щоб компенсувати втрачений час між фізичним актом очікування, коли кожен файл закінчить завантаження, а потім переміщенням наступного окремо, здавалося б.


Прочитайте інші відповіді перед тим, як написати нову відповідь
yass
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.