ПК с одним Windows, с 4 внутренними жесткими дисками и одним внешним жестким диском, подключенным через кабель e-SATA. Мой mobo - это старый SATA 3, а не SATA 6.

Я получаю совершенно разные скорости передачи файлов при переносе с одного внутреннего жесткого диска на другой или с внутреннего на внешний накопитель e-SATA.

пример: при создании резервных копий один большой внешний файл: я получал очень медленные скорости от 16 до 24 МБ / с. чуть позже он делал еще один больший отдельный файл (linux ISO) для внешнего жесткого диска и разгонялся со скоростью 125 МБ / с. Иногда я вижу 55 МБ / с, иногда 90 МБ / с.

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

1 ответ1

1

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

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

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

РЕДАКТИРОВАТЬ: также, забыл упомянуть, когда вы удаляете файл, свободное пространство не переупорядочивается, просто помечается как свободное пространство. Таким образом, удаление небольших файлов создает небольшие промежутки, в которые будут записываться большие файлы. NTFS постарается свести это к минимуму, насколько это возможно, но особенно с очень большими файлами, это не всегда может сделать это.

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