Почему мой файл копируется медленно?

10

Я пытаюсь скопировать папку (около 1 ГБ) в том же каталоге, и скорость копирования довольно медленная (около 600 Кбит / с).

Я могу загружать большие файлы из Интернета быстрее, чем это (2/3 Мбит / с).

Есть предположения?

введите описание изображения здесь

Примечание: я использую Windows 7 Professional.

Mahes
источник
2
Пожалуйста, не размещайте один и тот же вопрос на нескольких сайтах.
Даниэль Бек
@Mahes: вы дублируете файлы в одну папку? или папка с другим именем под одним и тем же родителем? имена файлов внутри папки довольно похожи?
Акира
@akira: я пробовал копировать в одну и ту же папку и на другой диск, но скорость почти одинакова (~ 600 КБ / с)
Mahes
@Mahes: ответили только на 1/3 моих вопросов :)
akira

Ответы:

16

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

Отавио Децио
источник
2
Это ни в коем случае не нормально, если у него действительно много маленьких файлов. Я только что скопировал 600 МБ (3000 файлов) под XP (один диск, достаточно оперативной памяти) менее чем за 1 минуту; это делает 10 МБ / с, т.е. в 15 раз быстрее.
Maaartinus
4
Файлы размером 600 МБ x 3000 сильно отличаются от файлов размером 1,1 ГБ x 22 231; также мы не знаем, сколько дискового пространства он оставил или насколько фрагментирован его диск. У меня были диски, выполняющие это плохо раньше.
Отавио Децио
1
Конечно, это другое. Но его файлы примерно (600/3000) / (1100/22231) = в 4 раза меньше, поэтому скорость на МБ не должна быть в 15 раз меньше. Но да, фрагментация может быть причиной и ответом на этот вопрос. И нет, это не совсем нормально, он должен рассмотреть возможность дефрагментации.
Maaartinus
3
@maaartinus: Не забудьте таблицу основных файлов, которую нужно обновлять для каждого отдельного файла . Для 3000 это не будет , что заметно , но для 22000 это очень хорошо может быть. Кроме того, у вас может быть просто более быстрый жесткий диск, чем у OP, поэтому прямое сравнение не будет очень надежным без дополнительных подробностей.
Саша Чедыгов
12

Небольшие файлы снижают производительность . Большой загружаемый файл требует только одной записи в таблице файлов и только для записи . Но копирование 20 000 файлов; Помимо чтения + записи, также необходимо изменить 20 000 записей таблицы файлов. И, как уже отмечалось , в игру вступают даже таблица свободного пространства и фрагментация диска. Ваш диалог копирования кажется мне совершенно нормальным, я бы беспокоился, если бы он упоминал часы в течение длительного времени ...

Тамара Вийсман
источник
5

если ОС должна вызывать CreateFile () , многое может стать немного кровавым, а иногда и неприятным. в любом случае, попробуйте отключить создание имени файла 8.3, так как «сделать длинные имена короткими» отчасти плохо для производительности. если у вас много похожих именованных файлов, которые очень похожи при усечении до 8.3, то вы очень часто будете запускать алгоритм 8.3:

  1. возьмите длинную версию и обрежьте ее до 8,3 символов
  2. есть ли другой файл с таким именем уже?
    1. Неа? прохладно. вставить его как атрибут в MFT
    2. да? штопать, сократить его до 7 символов и добавить число. проверьте еще раз 2.

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

подробнее читайте на http://msdn.microsoft.com/en-us/library/aa365247(v=vs.85).aspx#short_vs._long_names

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

Акира
источник
4
  1. Откройте «Мой компьютер» или «Компьютер» из меню («Пуск») или кнопки.
  2. Щелкните правой кнопкой мыши внешний жесткий диск из списка и выберите «Свойства»
  3. Нажмите на вкладку «Оборудование».
  4. Выделите диск, с которым у вас возникли проблемы, в списке дисков и нажмите «Свойства».
  5. Нажмите на вкладку «Политики».
  6. Вы увидите две радиокнопки - «Оптимизировать для быстрого удаления» и «Оптимизировать для производительности».
  7. Если не выбран, выберите .. «Оптимизация для повышения производительности» и нажмите «ОК» (external.hard drive drive). Если вы используете Vista или Windows 7, также отметьте «включить кэширование записи на диск» (Внутренние жесткие диски).
  8. Нажмите «ОК» и выйдите .. убедитесь, что это сделано на обоих жестких дисках
Задетт Росслин
источник
как мне это сделать на Windows 10?
Янус Троелсен