" title="Написать письмо">Написать письмо

Статистика

Пользователи : 1
Статьи : 1385
Просмотры материалов : 5219682
 
Флешка: NTFS или FAT32 (30.03.2020). Печать E-mail
2020 - Март
29.03.2020 23:00
Save & Share
Ранее было написано ПО, тестирующее файловые системы на скорость записи. Была написана научная работа на тему скорости записи на SSD с NTFS. Пришло время испытать ПО в другой задаче: тестирование скорости записи на флешку. И если ранее была интуитивная уверенность, что на флешках FAT32 быстрее NTFS - пришло время перейти к числам.

Флешка Transcend 64GB, USB 3.0, без индикатора, подключена через хаб USB 2.0, но впоследствии была заменена на UDisk. Запись 10000 файлов с разными размерами кластера. Windows XP x64 SP1, 32GB RAM, AMD A10-5700. Отключены все службы кеширования и прочие механизмы кеширования. Даже файла подкачки нет. Запись файлов и запуск ПО происходит с RAM-диска.

Transcend 64GB вначале с другими условиями тестировалась. На NTFS записывалась порция 10000 файлов - 30000 файлов на тест. Тесты показали крайне хорошие результаты, с точки зрения мс/файл.



Однако сам диапазон времени для одного и того же теста вызывал недоумение. Дальше - больше. Закрались сомнения в результатах (не круто ли: 1.4мс/файл - 714 файлов в секунду). Самое интересное, что обычное копирование средствами Windows, действительно, показывает копирование 2000 файлов за несколько секунд. Но все равно не верил.

Создал на RAM-диске в папке 2000 файлов по 512 байт с разумным текстом, размножил до 2000шт, начал копировать на флешку с помощью Total Commander. Как только копирование было завершено на мониторе - флешка была выдернута спустя 2сек. Воткнутая флешка обратно содержала лишь малую часть записанных файлов по контенту. То есть, файлов было 2000шт, видимых и прописанных в таблице раздела, - но из них было много мусорных с записанными значениями [NUL]. То есть, таблица файлов была заранее перезаписана +2000 файлов, когда по факту они еще не скопировались.
Этим и объяснялся баг, когда ранее использовал флешки на NTFS:
- все файлы скопировались, индикация на экране закончена. Индикации на флешке - нет;
- выключаешь ПК, вытаскиваешь флешку;
- приходишь домой - а несколько файлов в неделю - битые. Работа ОС завершалась тупо раньше, чем окончание (реальное) копирования.

То есть, система NTFS изначально врет о скорости записи файлов на носитель; и ее преимущество над FAT32 по скорости записи на флешке - обманчиво. Почитав публикации о NTFS на момент ее создания - создалось четкое впечатление, что микрософт проталкивает эту файловую систему, как проталкивала в свое время Windows Vista (редкостное г).

Понять, быстрее FAT32 или NTFS, остается единственным способом: в лоб Total Commander + флешка с индикатором записи - поэтому была выбрана китайская UDisk 4ГБ.

Взял 1 большой файл 1.4ГБ. При NTFS файл скопировался за 2с, что невозможно физически. Total Commander временно завис, окно "Мой компьютер" - тоже. Флешка моргала 310с. На FAT32 - индикация без зависания, 305с.

При тестировании SSD в научной работе получился вывод: чем больше пустоты в кластере - тем больше время записи (то есть, для любого твердотельного накопителя большой размер кластера - прямой вред). Было решено перенести результат на данный эксперимент, изменив размер кластера в 512Б и размеру файла в 1 байт, по размеру записываемых 2000 файлов. NTFS - 30с, FAT32 - 130с.

Казалось бы, полная победа NTFS. Но и тут косяк. Все 2000 файлов - одинаковые, копипаста. И никто не мешает NTFS, после копирования первого файла, не копировать оставшиеся 1999 - а лишь изменяя таблицу раздела, ссылаться на 1 и тот же физический участок данных. Поэтому была взята коллекция значков, лежащая без дела лет 10, - и начала копироваться. Но там значки - разных размеров (39-300КБ) - смешанный тест ответа на вопрос не дал. Пришлось писать ПО, генерирующее файлы определенного размера с обязательно рэндомным наполнением. И именно в этот момент сформировались критерии тестирования: 20000 рэндомных файлов, 2048Б под размер кластера, на пустую флешку и на флешку с 200к файлов.

Результаты оказались опять ненормальными:
- 20к файлов на пустую: NTFS - 16:35, FAT32 - 18:19. Казалось бы, опять победа NTFS;
- 20к файлов на 200к файлов: NTFS - 6:00, FAT32 - 18:31. Опять искажение результата NTFS, но другое! Причина - неизвестна. Флешка с установленной Windows 7 дико лагает по факту, если ее использовать просто как флешку для переноса файлов. Большое количество файлов должно было заставить NTFS проиграть, но этого не произошло в этом конкретном тесте. Что от NTFS можно еще ожидать?

Выводы, в рамках флешек: FAT32 является более стабильной по скорости (независимость от количества файлов в папке) и индикации записи (закончена на мониторе - закончена на флешке), можно дергать (не боится опасного извлечения). NTFS быстрее, но всегда имеется вероятность потери информации, и невозможно прогнозировать время записи. В угоду стабильности, нужно остановиться на FAT32.
Обновлено ( 29.03.2020 20:55 )
 
 

Последние новости


©2008-2020. All Rights Reserved. Разработчик - " title="Сергей Белов">Сергей Белов. Материалы сайта предоставляются по принципу "как есть". Автор не несет никакой ответственности и не гарантирует отсутствие неправильных сведений и ошибок. Вся ответственность за использование материалов лежит полностью на читателях. Размещение материалов данного сайта на иных сайтах запрещено без указания активной ссылки на данный сайт-первоисточник (ГК РФ: ст.1259 п.1 + ст.1274 п.1-3).

Много статей не имеет срока устаревания. Есть смысл смотреть и 2011, и даже 2008 год. Политика сайта: написать статью, а потом обновлять ее много лет.
Открыта карта ВТБ для материальной поддержки сайта: 5368 2902 0040 0838.

Рекламодателям! Перестаньте спамить мне на почту с предложениями о размещении рекламы на этом сайте. Я никогда спамером/рекламщиком не был и не буду!
Top.Mail.Ru