Чому швидкість передачі файлів Windows досягає 1,5 гігабайт / секунду?


1

Я помітив, що передача файлів на одній машині між швидким nvme m.2 ssd (загальна швидкість читання 3,2 Гб / с і записує 2,7 Гб / с), а верхня частина диска - близько 1,4-1,5 Гб / с. Чому це так? Я запускаю Windows 10 Pro Workstation як ОС і вимикаю всі брандмауери, антивірусні сканери або інші накладні витрати. Диски індивідуально бенчмарк як вище 2,5 Гб / с для читання і запису. Чому передача файлів вікон одного великого файлу обмежується приблизно 1,5 ГБ / с? Я чисто оцінюю послідовність читання і запису. Чи існує обмеження у Windows 10, коли мова йде про передачу файлів?


2
Кожен буфер в передачі повинен бути як читанням, так і записаним, так що ви повинні очікувати вдвічі швидкості читання і запису в кращому випадку.
AFH

Додаткові обмеження: швидкість шини, швидкість драйвера, швидкість пам'яті, швидкість процесора (повільні команди). Загалом, дуже складно обчислити реальну верхню межу.
harrymc

@AFH: запис в пам'яті, тому в теорії має бути набагато швидше.
harrymc

Яка файлова система використовується для джерела та цілі? Використання NTFS або FAT32 може бути основною відмінністю завдяки журналу NTFS. А з яким інструментом робити копію? Напр. Власний провідник файлів Windows відомий як повільний.
Tonny

1
На жаль, я неправильно прочитав ваше запитання. Спробуйте скопіювати на NUL: як з SSD, так і з диска RAM, і це дасть вам уявлення про накладні витрати системи.
AFH

Відповіді:


1

Короткий виклад коментарів до поста та результатів проведених тестів плакатом:

  • Виявлено, що всі утиліти копіювання функціонував приблизно на одній і тій же швидкості: Windows Explorer, копіювати, xcopy, robocopy, TeraCopy.

  • Єдина утиліта, яка вдалося досягти верхньої швидкості читання диска FastCopy.

Утиліта FastCopy відрізняється тим, що виконує читання і записує паралельно і не використовуючи кеш Windows для переміщення даних.

Таким чином, висновок полягає в тому, що у копіюванні файлів виникає повільність при використанні стандартних механізмів Windows це пов'язано з:

  • Відсутність паралелізму, тому читання припиняється під час написання
  • Притаманна неефективність кеш-механізму Windows.

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


з усією повагою, але це відвертий плагіат і на додаток до цього зовсім помилково зроблений висновок. Robocopy може виконувати багатопотокове копіювання. Крім того, ваші висновки ніде не наближаються до відповіді на запитання. "Windows повільні копії файлів існували довгий час", так .... навіщо турбуватися? Це ваш чесний висновок? Як ви заробили 229k повторень? Неймовірно.
Matt

1
Я завжди пробую Windows Explorer у будь-якій новій версії Windows, і вони завжди повільні - особистий досвід дійсно враховує щось. Linux набагато швидше керує файлами - це мій особистий досвід і багато інших дата-центрів. Плагіат чого? Я уважно не цитую ваші результати, а лише свої пропозиції. Щоб нагадати вам - ваші результати були через мої пропозиції, і дякую вам за те, що мої переконання і досвід переконалися тут кількісно. Для багатопоточності в Robocopy - він все одно проходить через кеш Windows, чи не так, так що очевидно все ще сповільнюється.
harrymc

1
Часто на цьому сайті я досліджую авеню з плакатом, і ми разом отримуємо пояснення або рішення. Тоді звичайно плакат попросить мене підсумувати результати, що я і зробив тут. Саме так я отримую багато репутації. Очевидно, це не ваш стиль, але будьте розумніші.
harrymc

1
Примітка: Якщо ви хочете додати свої числові результати до моєї відповіді, будь ласка, зробіть це, або ви можете дозволити мені це зробити. Якщо ні, то ніяких проблем.
harrymc

1
Я розумію, що це не ваш тип відповіді. Ви хотіли теоретичного дискурсу та аналізу, але, на жаль, тут немає вузьких місць у пристроях pcie, пам'яті або процесорі, оскільки такі загальні обмеження застосовувалися б до FastCopy. Деякий час тому я вивчав джерело FastCopy і виявив, що немає ніяких фокусів, немає прямого доступу до апаратних засобів, тільки дзвінки на стандартний Windows API. Це дійсно, дійсно, отримує свою швидкість, уникаючи кеш-пам'яті і видаючи паралельно читання і запису, використовуючи Windows API нижнього рівня. Що залишилося сказати про погане програмування в кеші Windows і драйверах?
harrymc
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.