Почему время передачи нескольких маленьких файлов медленнее, чем одного большого файла?

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

Дуг Мильке
2011-11-29 23:10:00
Возможно ли, что когда вы говорите «передача», вы имеете в виду по сети между разными местоположениями?

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

Мы создаем программное обеспечение под названием AIRShip для безопасной, надежной и быстрой отправки данных.

Совсем недавно мы добавили новый код, который решает этот тип проблем без необходимости «упаковывать» папку или каталог.

В результате AIRShip теперь перемещает «открытую» папку с отдельными файлами быстрее, чем та же самая папка упакована.

Фактически, наш тест показывает: на 100% эффективнее, чем та же архивированная папка, и примерно на 400% лучше, чем та же папка с нашим старым кодом (это было довольно быстро!)

Если вам интересно, вы можете связаться со мной.

Дуг Мильке

818 321 3275

doug.mielke@useairware.com

Уэйн
13.09.2011, 10:28:00
Короче говоря, из-за индексации/памяти.

Простое объяснение:

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

Сценарий из реальной жизни:

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

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

25.06.2011 20 : 29: 00
если один или несколько файлов в этих маленьких файлах повреждены, заблокированы окнами, то это может объяснить, почему скорость ниже, чем по сравнению с отдельными большими файлами.

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

передача файлов в процессоре игры и использование оперативной памяти. Win 7 применяет большие объемы ОЗУ для ускорения передачи файлов

, если у вас есть какие-то проблемы, попробуйте TeraCopy или экстремальное копирование и посмотрите, как hw пойдет в обоих случаях.

Майк
2011-06-25 18:32:00
Есть разные причины .. .

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

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

Если вы копируете файлы в другую файловую систему, требуются также другие операции, например, FAT32 не поддерживает все атрибуты и метаданные NTFS и имеет другой размер кластера. Об этом тоже должна позаботиться система.

Если вы копируете файлы в другую систему или том по сети, в игру вступают дополнительные вещи, такие как проверка и т. д.

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

Оцените статью
oilgasindustry.ru
Добавить комментарий