Intel NAS Performance Toolkit


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

На первый взгляд, проблема надуманная — разнообразных утилит, измеряющих производительность дисковой системы, вагон и маленькая тележка. Однако не все так уж просто — много программ, измеряющих низкоуровневую производительность. Да, разумеется, это весьма важный аспект, поскольку именно от этих цифр зависит и то, как накопитель будет вести себя на практике. Но как именно низкоуровневые параметры скажутся далеко не для всех очевидно. И даже более того — для большинства пользователей совсем неочевидно. В случае простых операций, типа копирования информации, еще можно о чем-то говорить, но более сложные способы применения накопителей быстро ставят впросак даже тех, кто имеет некоторую теоретическую подготовку. Да и не ко всем накопителям применимы низкоуровневые утилиты — им требуется прямой доступ к носителю. Это не составляет особых проблем для жестких дисков или флэш-накопителей, но сетевые диски таким способом особо не потестируешь. Кроме того, и с «локальными» дисковыми устройствами тоже все хорошо только если нас интересует скорость выполнения операций чтения — тесты записи разрушают всю информацию на тестируемом носителе. Еще и не всегда их можно запустить — например, большинство тестовых утилит отказывается измерять скорость записи на разбитых на разделы винчестерах. Вот и еще одно ограничение вырисовывается — все низкоуровневые тесты на низком же уровне и работают, никак не учитывая влияние файловой системы и т. п. Иногда это более чем оправдано (если мы хотим получить информацию именно о носителе без вносимых компонентами более высокого уровня искажений), однако делает результаты еще более далекими от практической жизни.

Идеальным вариантом было бы тестирование устройств хранения данных непосредственно при помощи реальных приложений. Однако реализовать такое тестирование корректно крайне сложно. Вот, например, как диск может сказаться на производительности в играх? Очевидным образом — чем быстрее подгружается информация, тем лучше. Следовательно, хорошим тестом является загрузка данных при переходе с уровня на уровень. Наилучшим вариантом с точки стабильности и повторяемости результатов было бы тестирование производительности средствами самой игры. В самом деле — кому, как не ее авторам лучше всего знать, как именно будет считываться в память файл с новым уровнем. Но кто-нибудь видел игру, измеряющую производительность жесткого диска и выдающую собранную информацию пользователю? Обложиться же двумя десятками распространенных игровых приложений и засекать время загрузки уровней по секундомеру не самый лучший выход. Хотя и возможный — ввиду того, что в играх дисковые операции обычно производятся не очень часто, зато в большом объеме. А вот «офисную» производительность дисков измерить непосредственно почти невозможно. Еще сложнее непосредственное тестирование в приложениях станет в том случае, если мы попробуем не создавать идеальных условий последним, а пользоваться ими так, как большинство пользователей и делает — с учетом многозадачности современных операционных систем. Ведь одно дело, если нам нужно просто считать с диска большой файл, и совсем другое, когда параллельно с чтением производится запись (например, висящий на фоне Р2Р-клиент закончил прием свежего фильма или просто по почте пришло письмо с многомегабайтным вложением).

Таким образом, тестировать накопители (в отличие от центральных процессоров или видеокарт) в «реальных приложениях» практически невозможно. Поэтому, так или иначе, а без синтетических тестов не обойтись. Однако, если с низкоуровневой синтетикой все достаточно хорошо, то высокоуровневой не хватает. Фактически можно привести в качестве примера лишь три программы такого назначения. Начнем с самой простой — FC-Test. Почему это самый простой случай? Просто потому, что программа измеряет исключительно скорость записи и чтения наборов файлов разного размера посредством функций операционной системы. Информация достаточно полезная, но недостаточная. Реальная файловая система по умолчанию не эмулируется и т. д. и т. п. В общем, это все куда лучше, чем только низкоуровневые характеристики, однако вряд ли информацию можно считать исчерпывающей. Сильной стороной программы стоит считать настраиваемые шаблоны, т. е. в конечном итоге с ее помощью можно многое проверить. Другой вопрос, что это является и относительно слабым местом — по умолчанию набор тестов невелик, а все остальное уже настраивается и перестраивается кому как будет угодно. Так что сравнивать результаты двух тестеров, сделавших собственные шаблоны, крайне сложно.

Одним из самых популярным универсальных приложений для тестирования всех подсистем компьютера, в том числе и дисковой, последнее время является пакет PCMark. Актуальными на сегодня можно считать две его версии — 2005 и Vantage. Почему нельзя обойтись одной? Просто потому, что Vantage рассчитан исключительно на Windows Vista, в Windows Seven тоже работает, а в более ранних — никак. Это приемлемо для тестовой лаборатории (хотя мы вот пока на большинстве стендов используем в качестве основной системы Windows XP), но не для «домашнего пользователя» — большинство последних все еще используют ХР. Так что на данный момент списать со счетов 2005 пока нельзя. А жаль, поскольку в Vantage появилась и трасса тестирования игровых приложений и не только.

Впрочем, трассовый характер теста вообще имеет как достоинства, так и недостатки. К первым можно отнести «всеядность» пакета — его можно использовать даже на единственном жестком диске в системе. Но зато трассы представляют собой своеобразный «черный ящик»: никто, кроме самих программистов FutureMark не знает, что ж там внутри делается. И добавить к пакету собственные тесты практически нереально, а «стандартный набор» ориентирован на внутренние винчестеры и только: для флэш-накопителя или NAS, к примеру, скорость загрузки операционной системы никакой полезной информации не несет. Зато, хотя бы, такие тесты есть, причем полученные из одного заслуживающего доверия источника, и повторяемые. Правда в этой повторяемости есть и свои подводные камни. Как работать с «черными ящиками» давно уже известно, так что для крупной компании не составит большого труда оптимизировать свой продукт под логику работы того же PCMark. Зачем? А им пользуются практически все тестовые лаборатории, так что получить «лишние очки» в любом сравнительном тестировании всегда приятно. Причем для этого не требуется «вылизывать» в совершенстве всю механику, электронику и прошивки того же винчестера — достаточно оптимизации под одну программу. Не могу утверждать, что такая работа всеми вендорами делается, поскольку пока их никто за руку не ловил, но… В свое время все тестировали видеокарты при помощи ZD WinBench, а потом оказалось, что производители последних в драйверах и не только специальным образом включают оптимизации под данный тестовый пакет (причем некоторые обнаруживались вообще легко — например, в BIOS видеокарт можно было найти те самые тестовые строки, которые использовал тест 2D-производительности). На волне подобной информации быстро стал популярным «альтернативный» продукт как раз от той же FutereMark, а именно 3D Mark. Ну и что? Как только он стал популярным и основным тестовым инструментом, появились и «заточки» специально под него. Так что гарантий того, что аналогичная картина творится и с PCMark, нет. Своеобразной гарантией могла бы явиться открытость дисковых трасс — дабы можно было бы как-то с ними поиграться (на худой конец — сэмулировать аналогичные операции другими средствами) и посмотреть, что получается в этом случае: сохраняется ли расклад по сравнительной производительности при небольших изменениях трассы или нет. Тогда можно было бы точно разобраться, мухлюют производители или нет; при сегодняшнем же положении дел это крайне сложно. Но, несмотря на это, от использования PCMark ни мы, ни все остальные отказываться пока не планируем — альтернатив-то тесту в своей группе особых и не наблюдается. Вот только не для всех накопителей он применим — как я уже сказал выше, весь данный тестовый пакет нацелен на изучение производительности компонентов компьютера. Для ВЖД же, например, дисковые тесты PCMark практически бесполезны.

И, наконец, последним по списку, но далеко не по значимости будет «великий и ужасный» IOMeter. Шутят, что при помощи его можно протестировать все, что угодно — нужно только разобраться как :) Доля правды в этом есть и немалая — все, конечно, протестировать не удастся, поскольку программа предназначена для тестов накопителей и сетей, но никак не пригодна для видеоадаптеров, например. Зато в своей предметной области, действительно, при помощи IOMeter можно протестировать все, что угодно — нужен только соответствующий шаблон операций. Последние распространяются в открытом виде, да и исходный код программы открыт, так что «заточиться» под нее практически невозможно. Это достоинства. А что с недостатками? Их всего пара, но серьезных. Во-первых, высокая универсальность, как это часто бывает, приводит и к высокой сложности программы. На самом деле ничего такого сверхъестественного в IOMeter нет, а с готовыми шаблонами программу может использовать даже ребенок, но выглядит она немного пугающим «простого пользователя» образом. Да и логика работы последнему не очень удобна — тестовые утилиты для «широких масс», как правило, достаточно просто запустить, а в конце посмотреть на красивый график или, хотя бы, цифры, однако за результатами IOMeter на экране следить дело совсем неблагодарное, а основным источником ценных данных является создаваемый лог-файл. Вторая же проблема — малое количество готовых шаблонов. Из распространенных ценность для всех имеют разве что последовательное и случайное чтение/запись, но это тесты достаточно низкого уровня. На высоком все хуже — при помощи IOMeter можно сымитировать любую дисковую операцию, однако изначально для программы было предложено лишь несколько серверных шаблонов, но ни одного для «обычных» компьютеров. Стараниями энтузиастов появились шаблоны, ориентированные именно на последнее (эмуляция рабочего процесса «типичного пользователя», дефрагментация, копирование файлов), однако их надо специально где-то искать. Причем заслуживающих доверия источников получения шаблонов нет. В общем, без IOMeter обойтись невозможно, но применение данной программы имеет свои особенности, не все из которых приемлемы для человека, не занимающегося тестированием профессионально.

Производители программного обеспечения о сложившейся проблеме знают. Знают и по мере сил пытаются ее разрешить. Свое решение не так давно широкой публике предложила компания Intel. Всем она в наибольшей степени известна как производитель центральных процессоров или чипсетов, однако этими направлениями деятельность фирмы совсем не ограничивается. Того же программного обеспечения ее специалисты пишут массу — от специализированного, до вполне универсального, типа одного из лучших компиляторов. Да и чего далеко ходить за примерами — тот же IOMeter изначально вышел «из рук» именно Intel. А не так давно в сферу интересов компании попали недорогие массовые NAS, с тестированием которых, как я уже выше сказал, есть масса проблем. Ничего удивительного, что было принято решение справиться с ними собственными силами, результатом чего явилась такая программа, как NAS Performance Toolkit. C ней мы сейчас и познакомимся, а также попробуем провести практические испытания на весьма злободневную тему.

NASPT в целом

Строго говоря, программа не ориентирована специально на персональное использование — скорее, основными ее потребителями являются разработчики, способные извлечь максимум пользы из нескольких сотен мегабайт отчетов, генерируемых при каждом запуске программы. Однако ее можно использовать и как примитивный персональный бенчмарк, благо она отвечает всем предъявляемым подобным приложениям требованиям. Во-первых, NASPT распространяется бесплатно. Во-вторых, дистрибутив имеет размер всего 50 МБ, что в наше время скоростного интернета и многогибайтных флэшек копейки. Причем кроме скачиваемого с сайта Intel архива ничего для установки не потребуется — 2/5 его это дистрибутив .Net 2.0, на котором программа и написана. Если же есть уверенность, что последний не пригодится, то количество «носимой» с собой информации можно сократить до 30 МБ. В-третьих, с логами работать вообще не обязательно — результаты всех тестов после выполнения отображаются прямо в основном окне главного модуля, так что можно обойтись и только им, вообще никогда не запуская Analyzer. Опять же — краткие результаты и в виде CSV-файла сохраняются, что очень удобно для последующей обработки. В-четвертых, несмотря на гибкость настраиваемых шаблонов, разбираться с ними тоже необязательно — по умолчанию вместе с программой поставляются несколько наиболее интересных паттернов, которыми для нужд персонального тестирования можно и ограничится. В-пятых, программа не требует какой-то специальной подготовки тестируемого устройства — все измерения проводятся на высоком уровне, не портя хранимую информацию и вообще никак ей не мешая (для наибольшей корректности результатов, конечно, их рекомендуется проводить на пустом диске, но это желательно, а не обязательно). В-шестых, приложение предъявляет весьма гуманные требования к клиенту — гигабайт оперативной памяти и процессор не хуже, чем Pentium 4. Более старые не подойдут только потому, что программа активно использует инструкции SSE2. Про процессоры конкурентов, естественно, в документации ничего не сказано, однако из требования SSE2 мгновенно вытекает и минимальный пригодный процессор от AMD — любой Athlon 64 или Sempron с архитектурой К8 или более новой. В общем, такое «ограничение» уже несколько лет как ничего не ограничивает. Да и требования к операционной системе (Windows XP SP2 или Vista) тоже этого почти не делают — более 90% компьютеров работают именно под управлением одной из этих систем.

В общем, использование программы особых неудобств не имеет. Работать она будет, несмотря на название, с любым накопителем — лишь бы он был стандартным образом смонтирован операционной системой, т. е. имел буквенное имя. А будет это локальный винчестер, сетевой накопитель, флэшка или что-либо еще — неважно. Все, что требует документация — наличие на тестируемом «диске» 80 ГБ свободного места, хотя, как мы увидим далее, это совсем необязательно — на практике всеми штатными тестами вполне можно пользоваться на накопителях емкостью от 1.5 ГБ (просто чем больше емкость, тем удобнее работа). Причем тесты проводятся не в каком-то абстрактном идеальном окружении, а в условиях реальной файловой системы со всеми достоинствами и недостатками такого подхода. Главным недостатком, естественно, является то, что на результатах будет сказываться кэширование и прочие оптимизации, т. е. результат зависит не только от самого накопителя. Зато и достоинство основное крайне велико — демонстрируемая программой скорость работы действительно является максимально приближенной к реальности. Разумеется, следует очень осторожно подходить к сравнению результатов полученных из разных источников, но в одинаковых (или, хотя бы, близких) условиях все будет очень даже хорошо.

NASPT Exerciser

Как я уже сказал, модуль Analyser для «простых» целей домашнего тестирования избыточен, да и не только для него. А вот без Exerciser обойтись уже никак не удастся.

Посмотрим на основное окно программы. В правой части расположен список «подключенных» тестов, о которых мы подробно поговорим чуть позже. Для тестирования нужно просто выбрать нужные (можно все, можно часть). После окончания тестирования в колонке левее будет отображен результат с точностью до десятых долей мегабайта в секунду. Это очень удобно для нужд быстрого тестирования — запустили, посмотрели и успокоились :) Для более сложных случаев все результаы сохраняются в CSV-файле, причем с точностью уже до тысячных долей МБ/с.

Главными в инструментальной панели являются две кнопки, о назначении прочих можно даже не задумываться. Кнопка Configure позволяет выбрать каталог на тестируемом накопителе (по умолчанию C:\NASPT, так что запустив программу без настройки вы просто протестируете свой системный диск), а также каталог, где будут сохраняться отчеты и логии. А кнопка Run запускает на исполнение выбранные тесты. Если необходимая структура на тестируемом накопителе не создана (что делает кнопка Prepare), то сначала производит все подготовительные мероприятия. Собственно и все.

Поля ввода в левой части окна предназначены для конкретизации информации о накопителе. Все эти строки помещаются в логии/отчеты, но не только — для хранения последних программа создает древовидную структуру вида «Manufacturer\Model\дата и время запуска теста\». Так что если на компьютере тестируется несколько накопителей, не стоит пренебрегать возможностью такой сортировки результатов.

В самом низу опции тестирования. Первая, выбранная по умолчанию, прогняет все тесты без задержек. Закончилась одна операция — запускается следующая. Этот вариант наиболее пригоден для получения максимальных скоростей, что в большинстве тестирований и нужно. Можно также проигрывать трассы «как есть» со всеми задержками, либо вставлять их искусственно — иногда полезно для более глубокого анализа. А кнопка «Batch Run» запускает выбранные тесты в пакетном режиме — по пять раз каждый с усреднением полученных результатов.

В общем, все просто и весьма наглядно. Посмотрим теперь, что именно мы можем протестировать.

Стандартные тесты

Пять тестов из двенадцати посвящены работе с HD-видео, в чем ничего удивительного нет. Ориентация компьютеров на мультимедийные приложения, которая начала прослеживаться еще 15 лет назад, сегодня уже не просто тенденция, а данность. При этом именно видео, причем в высоком качестве, предъявляет максимальные требования к емкости и производительности накопителей, как внутренних, так и внешних. Очень многие приобретают ВЖД именно для хранения видеотеки, ну а сетевым устройствам хранения такой режим работы особенно присущ. Причем и в многопоточном режиме — с установленного где-нибудь на антресоли сервера легко могут просматривать разные фильмы в разных комнатах квартиры, а если он еще и расшарен в масштабах районной локальной сети, тем более. А одновременно со скачиванием фильмов они могут и «заливаться» на сервер, так что пусть вас не вводят в смущение слова «playback» и «record» — очевидно, что и банального копирования это тоже касается. Да и не только видеофайлов тоже :)

Что же и как мы тестируем? Первый тест — «воспроизведение» одного файла в один поток, второй — два файла, считываемых параллельно, третий — четыре файла в четыре потока. Суммарный объем файлов составляет примерно 1.3, 0.95 и 1.45 ГБ соответственно. Такой размер уже позволяет достаточно точно получить средние скорости, так что увеличение объемов файлов не имеет смысла. Главное, что мы получаем в итоге — скорость потокового чтения больших файлов в 1, 2 или 4 параллельных потока.

С записью тоже все просто — создается один файл, размером 1.5 ГБ. И еще более интересный вариант — один файл читаем, во второй пишем. В общей сложности передается 0.95 ГБ информации в обоих направлениях.

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

Но есть и другие :) Например, копирование, причем в двух вариантах — один файл размером 247 МБ и 1.2 ГБ информации в 2833 файлах, разбросанных по 44 каталогам. В обоих направлениях, что дает нам исчерпывающую картину, например, для носимого с собой накопителя, типа флэшдрайва — получаем реальную скорость основных для этих устройств операций, причем как файлов большого объема, так и всякой «мелочи» в больших количествах. На больших файлах, очевидно, результаты должны коррелировать с полученными в предыдущей группе тестов однопоточными «однонаправленными» с поправкой на потери при работе с файловой системой накопителя (почему, по-видимому, и принят такой относительно небольшой размер файлов — если бы мы копировали файлы по гигабайту и более, вклад этой составляющей был бы сильно «смазан» устоявшейся скоростью чтения/записи).

И, наконец, оставшиеся три теста можно назвать «тестами приложений». Самым мощным является Office Productivity, в котором эмулируется некий сферический пользователь, но не в вакууме, а в информационном окружении. Он активно работает с документами, что-то ищет в интернете (в результате чего создаются и просматриваются временные файлы Internet Explorer и т. п.). В общем, тест очень синтетический, зато весьма объемный (616 файлов общим объемом 572 МБ в 45 каталогах) и интересный для анализа — достаточно сказать, что создаваемый в результате лог-файл имеет объем более 500 МБ! На практике же он наиболее применим для локальных дисков, но не для внешних накопителей (хотя бы потому, что кэш браузера мало кто на последних держит :)). А вот Photo Album, наоборот, интересен для сменных устройств (хотя и не только) — это домашняя работа (в первую очередь — просмотр) с фотографиями. 11 каталогов, 169 файлов, 1.2 ГБ суммарно — вполне так современненько и даже с некоторым запасом (для большинства массовых фотоаппаратов пока более типично 2-4 МБ на фотографию, а не 8, однако мегапиксели-то растут). И, наконец, Content Creation — работа с документами, но уже без большой фоновой активности. Например, если вы используете флэшку в качестве основного рабочего накопителя, что-то ваяя в Microsoft Office, это как раз тот самый случай. Что приятно, требования к дисковому пространству у этого теста минимальны — всего 5.8 МБ в 79 файлах, раскиданных по 36 каталогам.

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

Теперь о потребностях в свободном месте. Несложно посчитать, что выполнение всех тестов потребует около 10 ГБ. Пятикратный прогон тестов в пакетном режиме это порядка 50 ГБ. Соответственно, на внешних винчестерах или очень больших флэшках можно просто запускать все тесты скопом и не волноваться. Однако это условие достаточное, но не необходимое — любой из тестов сам по себе не требует для одного прогона более 1.5 ГБ дискового пространства, из чего следует, что мы можем прекрасно тестировать даже двухгигабайтные флэшдрайвы. Просто это менее удобно — «пакетный режим» и усреднение результатов придется делать вручную, да и тесты запускать по одному, но «неудобно» не значит «невозможно», что очень хорошо. Можно даже более мелкие накопители тестировать, но уже не во всех приложениях.

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

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

FAT32, exFAT, NTFS — что выбрать?

Совсем недавно компания Microsoft выпустила дополнение для Windows XP, позволяющее на компьютерах под управлением последним применять новую файловую систему, а именно exFAT. Впрочем, не такую уж и «новую» — изначально ее поддержка появилась в Windows CE 6, год назад была добавлена в первый Service Pack для Windows Vista, а теперь вот и пользователи XP могут выбирать между тремя системами, а не двумя. Точнее, штатными средствами выбор доступен между двумя — флэш-накопители нельзя форматировать под NTFS, а тома более 32 ГБ под FAT32, однако это обходимо использованием утилит сторонних производителей. И выбор раньше был, по сути, между умными и красивыми. FAT32 банально проще, обеспечивает наилучшую совместимость как с компьютерами, так и с бытовой техникой, но не позволяет создавать файлы емкостью более 4 ГБ. У NTFS последнего ограничения нет, зато совместимость ограниченная, да и сложная журналируемая файловая система приводит к появлению «лишних» операций записи даже когда они не особо нужны или просто вредны (на флэш-накопителях, например).

Что же нам дает exFAT? Ограничений на размер файлов практически нет, ограничений на размер тома практически нет (в т.ч. и искусственных присущих FAT32), ненужных архитектурных особенностей нет, проблема с фрагментацией стоит менее остро, чем в случае FAT32. Да и с совместимостью потенциально все будет куда лучше, чем у NTFS — бытовая техника «новую» файловую систему поддерживать будет, в отличие от. Для SD-карт, кстати, исчезнет ограничение в 32 ГБ, наложенное спецификациями SD 2.0 — в SD 3.0 стандартной ФС будет именно exFAT. Но это все дело будущего — пока даже не на всех компьютерах получится поработать с накопителями, отформатированными соответствующим образом.

Раз уж выбор есть, им можно воспользоваться. А что нам это даст с точки зрения производительности? Попробуем проверить. Для этого возьмем ВЖД на базе 2.5″ винчестера от Verbatim, ранее нами уже протестированный, емкостью 320 ГБ. Форматирование его под exFAT и NTFS осуществлялось штатными средствами Windows, а под FAT32 — утилитой от Western Digital (поскольку Verbatim использует диски именно от WD, данная программа работает и с нашим ВЖД).

Сразу замечу, что при таком объеме размер кластера exFAT составил 128К, против 32К у FAT32 или 4К NTFS. C одной стороны, это делает новую систему не лучшим выбором для хранения большого количества мелких файлов, с другой — не так уж страшен черт, как его малюют. В среднем потери составляют половину кластера на каждый файл, так что если мы запишем на винчестер миллион файлов по 300 КБ каждый, впустую израсходуется 64 ГБ. Много, но где б еще этот миллион найти :) Обычно, все-таки, накопители высокой емкости приобретают для хранения больших файлов. В частности — мультимедийных. Если хранить фотографии, средний размер которых всего-то 3 МБ, потери сократятся до 6.4 ГБ, на музыке — еще меньше, а при большом количестве видео и говорить особо не приходится (всего-то 450 фильмов в DivX даже низкого качества заполнят весь винчестер, а потеряем мы в этом случае лишь около 30 МБ). В общем, при современном размере файлов и емкости винчестеров можно особо о потерях дискового пространства не заботиться — сейчас не начало 90-х, когда даже винчестеры разбивали таким образом, чтобы размер кластера минимизировать ;) Ну а теперь перейдем к скорости.

Однопоточное чтение больших файлов, очевидно, лучшая задача, которая может быть поставлена перед USB ВЖД. За счет некоторой помощи кэширования, по-видимому, скорость оказывается даже чуть больше, чем обеспечивает сама шина. В целом все файловые системы можно считать эквивалентными с небольшим преимуществом exFAT и мизерным отставанием NTFS.

Параллельное чтение информации в два потока неожиданно вывело NTFS на первое место. Если при такой минимальной разнице вообще стоит говорить о местах, конечно. Более интересно резкое снижение производительности (почти в полтора раза) для всех случаев. А это уже винчестер виноват, которому приходится постоянно «гонять» головы с места на место. Так что с точки зрения каждого пользователя скорость чтения «его» файла упадет аж в три раза, вместо ожидаемых «по житейской логике» двух.

На четырех потоках чтения скорость еще ниже, но уже несущественно — по-видимому, пик пройден. NTFS неожиданно (для нас, по крайней мере) первое место сохранить не сумела. А ведь, казалось бы, изначально оптимизированная под многозадачные ОС (в т.ч. серверные) система должна лучше всего себя чувствовать именно в таких условиях. Что хорошо прослеживается на двух потоках, но вот дальше, по-видимому, более важными оказываются другие факторы. На каждый поток в данном случае, кстати, приходится лишь 5-6 МБ/с, а не «ожидаемые» 9 МБ/с.

Запись в один поток ведет себя подобно чтению. Абсолютные результаты ниже, испытуемые меняются местами, но разница между двумя версиями FAT продолжает оставаться небольшой. А проигрыш NTFS уже заметен — при использовании этой системы на практике приходится записывать больше информации.

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

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

Очень интересный многократно перепроверенный результат. Что из него следует? Что использовать exFAT для системного диска смерти подобно, так что остается только порадоваться тому, что нам такой выбор Microsoft и не предоставляет. Зато NTFS в этом качестве выглядит очень хорошо. FAT32 — тоже неплохо и на том спасибо (радость сохранившимся пользователям Win 9x :)). А вот почему «старая» и «новая» FAT так отличаются друг от друга вопрос сложный и без подробного знакомства с внутренностями системы не решаемый. Интересно, конечно, будет посмотреть на поведение данного теста под Windows Vista: все-таки к XP exFAT прикручена без серьезных изменений в системе. Даже при помощи стандартного апплета «Управление компьютером» такие разделы создать невозможно — только из контекстного меню диска в папке «Мой компьютер» форматирование доступно. Следовательно, и поведение дискового кэша может быть не самым оптимальным с точки зрения exFAT. Просто мы теперь получили возможность читать, писать и форматировать данные, а дальше уже — как получится. В Vista же поддержка данной ФС встроена «правильным» образом, так что после выхода SP1 она стала для данной операцтонки «родной». Впрочем, все это нуждается в проверке и перепроверке, конечно.

Для «работы» с фотоальбомом все равны в первом приближении.

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

А вот копирование файла на накопитель уже не совсем похоже на запись видео — нам нужно еще создать на нем каталог, потом создать в нем файл, для которого еще и найти достаточное количество свободного места и время «подготовительных» операций заметно сказывается на «общем цикле». И вот тут-то exFAT показывает свои сильные стороны — она заметно быстрее обеих конкуренток.

Но при копировании с накопителя большого количества мелких файлов она уже заметно медленнее последних. Опять же — будем исследовать почему. Гипотезы есть, но без проверки я их озвучивать не хочу :)

Что ж, если бы в NASPT был только этот тест, программа бы уже была достаточно полезной. И если бы в статье была только одна эта диаграмма, ее бы уже стоило писать :) На копировании большого количества файлов малого размера результаты не просто зависят от файловой системы — они от нее одной, можно сказать, и зависят. exFAT в 2.5 раза медленнее NTFS — вот он звездный час этой системы. Впрочем, и последней есть чем гордиться — она в 3.5 раза быстрее FAT32! Ну а с учетом того, что, все-таки, в свете последних веяний в компьютерном мире именно эти две системы должны конкурировать друг с другом, не сильно-то пересекаясь с NTFS, это более важно, чем отставание от последней.

Попутно, кстати, выясняется, что ведущиеся в конференции поиски флэшдрайва, на который можно быстро записывать большие объемы информации файлами малого размера сродни поискам Святого Грааля своей бессмысленностью. Быстрый накопитель, медленный накопитель — при такой разнице между файловыми системами это перестает быть важным. При переходе от одного файла в 247 МБ к куче файлов по 450 КБ производительность FAT32 падает в 15 раз и ничего особо с этим не поделаешь. Точнее, варианты для Windows XP есть, но все они к тривиальным не относятся. Кроме одного — перейти на другую файловую систему, раз уж приходится выполнять такую задачу. Для exFAT снижение скорости 4.5 раза, для NTFS — вообще менее двух.  У последней еще и потери дискового пространства меньше, за счет меньшего кластера. Впрочем, наиболее оптимальным вариантом, пожалуй, будет просто научиться пользоваться архиваторами и свести задачу к предыдущей — даже для «большого друга маленьких файлов» (NTFS) время выполнения архивации с последующим копированием все равно окажется меньшим, чем просто копирования ;)

В целом результаты говорят сами за себя. Как замена FAT32 exFAT более чем состоятельна, как конкурент NTFS — в зависимости от задач. Например, даже на внутреннем винчестере, используемом для хранения фильмов, применение exFAT имеет свои привлекательные стороны. Не говоря уже о флэш-накопителях, где NTFS нам не предлагается — можно, конечно, воспользоваться альтернативной программой форматирования, а можно и не забивать себе голову особо, просто используя exFAT. Во всяком случае, это будет верным после улучшения совместимости системы с уже имеющимся на руках оборудованием, что всего лишь дело времени.

Итого

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






Дополнительно

iXBT BRAND 2016

«iXBT Brand 2016» — Выбор читателей в номинации «Процессоры (CPU)»:
Подробнее с условиями участия в розыгрыше можно ознакомиться здесь. Текущие результаты опроса доступны тут.

Нашли ошибку на сайте? Выделите текст и нажмите Shift+Enter

Код для блога бета

Выделите HTML-код в поле, скопируйте его в буфер и вставьте в свой блог.