Raptor X от WD - только "голая" правда...

Автор: niknik
Дата: 17.04.2006
Все фото статьи

Введение


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

Компания WD, наконец-то, выпустила диск Raptor нового поколения! Надо сказать, ждали мы этого давно и с нетерпением. Жёсткие диски со скоростью вращения шпинделя 7200 оборотов в минуту росли в объёмах, как на дрожжах, - 200, 300, 400 и, наконец, уже и до 500ГБ добрались. И с каждым днём для юноши, обдумывающего житьё, дилемма - купить ли для своего мега-компьютера диск WD Raptor или предпочесть обычный диск впятеро большей ёмкости, вставала всё острее.

И вот, наконец, империя нанесла ответный удар и имя ему - Raptor 150GB. Впрочем, мы немного неправы. На самом деле выпущено два новых диска объёмом 150GB. И если один из них вполне обычный Raptor, только вдвое большей ёмкости, то второй....
Второй диск тоже имеет ёмкость 150ГБ, но вид имеет довольно экзотический - у него в корпусе имеется прозрачное окно, через которое можно наблюдать за работой блока головок! Не рекомендуем только делать это дольше 15 минут в день... Гипнотизирует. ;)

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

И, так случилось, что именно Raptor X попал к нам на тесты...

Raptor X


Собственно, встречаем апплодисментами:


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


Стандартные виды сверху и снизу:


WD не изменила своей традиции размещать плату электроники микросхемами внутрь. Отметим только одну деталь - на видимой стороне платы больше нет микросхемы конвертера ATA<->SATA. Да и с чего бы ей там быть - диск теперь имеет нативный SATA-интерфейс.


Как видим, на плате электроники всего три микросхемы - процессор, чип памяти и чип управления двигателем.
Также на фотографии можно увидеть два датчика ускорения - они расположены по углам платы вверху. При помощи акселлерометров диск измеряет уровень вибрации и вносит коррективы в текущие дисковые операции.

Кстати, о идее с окошком... Давным-давно, года три тому назад в наших тайных лабораториях был изготовлен жёсткий диск с окошком. Не берёмся утверждать, что этот диск был первым в мире жёстким диском с окошком (я еще помню прозрачные бобины с пакетом 5МБ-ных блинов в дисковых подстистемах IBM/360), но сделали мы его, похоже, раньше, чем WD.


В наш век, когда всё цивилизованное население земного шара судится по любому поводу и без него, мы очутились в довольно пикантной ситуации... То ли ждать иска от WD, то ли самим подать в суд. :)

Но, хватит шуток, пока к делу!
Тот рынок, на который компания WD позиционирует жёсткие диски Raptor предъявляет к жёстким дискам повышенные требования. Диски, которые призваны вытеснить SCSI-диски из рабочих станций и серверов начального уровня должны быть быстрыми, надёжными и стоить дешевле.
Насчёт стоить дешевле - нет проблем. Диски Raptor и стоят дешевле, чем SCSI-диски и для работы им не требуется дорогущий контроллер. Контроллер, зачастую, просто бесплатен - он интегрирован в материнскую плату. Насчёт быстрый - это мы проверим, невзирая на лица и звания. Насчёт надёжен - это, конечно, вопрос сложный. По моим личным впечатлениям, второе поколение Raptor было надежнее первого. Хочется думать, что третье поколение будет еще надёжнее.
Итак, посмотрим на голые цифры спецификаций:


Новый диск может похвалиться вдвое возросшим объёмом - 150ГБ, кэш-буфером в 16 мегабайт и поддержкой технологии NCQ. Скорость передачи данных из буфера диска в хост-контроллер осталась прежней - 150Мбайт/сек. Не стоит хмурить брови - этот параметр не критичен для производительности диска.

Диск поддерживает фирменные технологии WD - TLER ( time-limited error recovery ) и RAFF ( Rotary Acceleration Feed Forward ). Первая технология призвана увеличить надёжность работы алгоритмов коррекции ошибок в RAID-массивах, а вторая - увеличить производительность дисков, работающих в условиях вибрации.

Тестовая система и методика тестирования


В новый "тестовый" год мы вступаем с новой тестовой системой. Всё течёт, всё изменяется и, хотим мы этого или нет, мы вынуждены подчиняться неумолимому прогрессу.

Старая тестовая система перестала нас устраивать по той самой причине, что выбирая её, мы хотели соответствовать среднему уровню компьютеров наших читателей. Шло время, менялись чипсеты, процессорные разъёмы, типы памяти и т.п., но наша тестовая система оставалась неизменной. С одной стороны, это хорошо, так как давало нам возможность потихоньку тестировать новые диски и всегда иметь базу результатов для сравнения. Но, с другой стороны, мы с каждым днём всё отдалялись от среднего уровня компьютеров пользователей (в смысле - они от нас ;) ), что делало полученные нами результаты всё менее адекватными.

Правда, когда мы выбирали набор тестовых приложений, мы старались использовать только те тесты, которые мало зависят от мощности процессора или объёма оперативной памяти. И, действительно, как показали предварительные тесты новой системы, на результаты наших тестов аппаратная конфигурация оказывала значительно меньшее влияние, нежели используемая операционная система.
Да, как ни странно, главным нововведением новой тестовой платформы стала операционная система - WinXP SP2.
К сожалению, до Vista нам дотянуть не удалось... Мотивом к действию послужила информация о переносе на неопределённый период сроков появления в операционной системе с кодовым названием "Vista" новой файловой системы - WinFS.
Итак, вот состав нашей новой тестовой системы:

Системная плата – Foxconn 945G7MA-8EKRS2 (i945G + ICH7R);
Центральный процессор – Intel Pentium 4 521 (2.8 ГГц/800МГц);
Жесткий диск – IBM DTLA-307015 15 ГБ;
Графический адаптер – Radeon X300 128Мб;
ОЗУ – 512 Мб DDR2-533;
Операционная система – Microsoft Windows XP SP2.

Тесты жёстких дисков проводились на контроллере Promise SATAII 150 TX2 Plus.

Это дало возможность поставить в равные условия ATA и SATA-диски, ведь использованный контроллер поддерживает оба интересующих нас интерфейса. Выбор контроллера - результат непротивления личных симпатий автора тому простому факту, что стараниями компании Intel у материнских плат на чипсете i945+ICH7R только один разъём для подключения жёстких дисков с PATA-интерфейсом, а он (разъём) уже занят системным винчестером...
Для тестирования использовались следующие программы:

IOMeter 2003.02.15;
PCMark05 Build 1.1.0;
WinBench 99 2.0;
FC IOMark 03b15;
FC-Test 1.0 build 13;
FC-Test 2.0 build 1005;

Накопители размечались под файловые системы FAT32 и NTFS одним разделом с размером кластера по умолчанию. В отдельных случаях, описанных ниже, для тестирования использовались логические разделы размером 32 ГБ, размечаемые под FAT32 и NTFS с размером кластера по умолчанию.

Участники тестирования


Итак, в этом обзоре мы, в подавляющем числе тестов, будем сравнивать результаты показанные всего тремя жёсткими дисками. Сделано это отнюдь но потому, что нам нечем "похвалиться"... Дело в том, что диски WD Raptor по своим скоростным характеристикам намного превосходят обычные 3.5"-диски со скоростью вращения шпинделя 7200 оборотов в минуту. Это - факт, и тратить Ваше время на то, чтобы еще раз его доказать - бессмысленное расточительство, на мой взгляд.
С другой стороны - имеет смысл проверить, а не приблизилось ли быстродействие представителя нового поколения дисков Raptor к быстродействию современных SCSI-дисков. Но, опять же, заранее зная сильные и слабые стороны SCSI-дисков, мы добавим их в сравнение только в тестах, имитирующих нагрузку на дисковую подсистему файл- и веб-серверов.

В начале этого раздела я упомянул о трёх дисках, которые приняли участие в этом тестировании, а теперь я их представлю - это WD1500AHFD или Raptor X, WD740GD (или Raptor второго поколения) и... еще один WD740GD.
Вполне логично было бы сравнить между собой диски Raptor трёх поколений - WD360GD, WD740GD и WD1500AHFD, но, к сожалению, сейчас в рознице доступны только 36ГБ-модели дисков из второго поколения накопителей Raptor, а оригинальные сейчас уже не доступны. Вот уже года полтора, как я расстался с целым выводком моих любимых хищников (они теперь работают в том самом сервере, с которого вы в данный момент читаете статью), так что у меня на руках не осталось ни одного Raptor-а первого поколения.
Почему же в тестах принимают участие два диска WD740GD? Всему виной компания High-point, а точнее её PR-отдел...
После выхода обзора контроллера RocketRaid 2320 мне не преминули намекнуть, что "настоящую мощь контроллер показывает на большом количестве дисков".
Будучи по природе своей существом крайне недоверчивым, я, в дополнение к комплекту из чётырёх дисков WD740GD, которые используются для тестов RAID-контроллеров, взял еще несколько дисков (нарушив тем самым неписанное правило не использовать для тестов контроллеров набора дисков с разными версиями прошивки).
Были проведены тесты и результаты оказались крайне интересными. Действительно, быстродействие контроллера при работе с RAID5-массивами резко возрастало, как только количество дисков в массиве превышало магическую цифру 4. Но меня насторожили два факта. Во-первых, контроллер отключал возможность выбора пользователем размера страйп-блока. Во-вторых, быстродействие контроллера возрастало только в тестах с запросами на запись последовательно расположенных блоков данных. Всё это даёт мне смелость предположить, что программисты HighPoint реализовали нечто, похожее на технологию R5 Fusion от 3Ware...

Вернёмся к нашим... Raptor-ам... У меня на руках оказались диски WD740GD, выпущенные относительно недавно, времени было много, да и один из тестовых стендов оказался свободным... В общем, я и не заметил, как у меня появились результаты двух дисков WD740GD с существенно разной датой выпуска и разными версиями прошивок. И когда я сравнил эти результаты - было от чего выпасть в осадок...
Впрочем, компании High-Point я бесконечно благодарен - большей интриги в обзор я бы добавить не смог...

На всякий случай, приведу полные названия дисков вместе с версиями прошивок:

WD740GD - 00FLA1 / 27.08D27
WD740GD - 00FLC0 / 33.08F33
WD1500AHFD - 00RAR0 / 19.06P19

Average Read/Write Response time


Итак, первый тест, в котором мы сравним наши жёсткие диски - тест на измерение среднего времени отклика диска при операциях случайного чтения/записи сектора. Цель наших исследований - выяснить время доступа к диску при чтении и оценить агрессивность алгоритмов отложенной записи дисков (грубо говоря - оценить количество сегментов кэша диска, отведённых под хранение запросов на запись)
Для этого мы в течении 10 минут при помощи IOMeter бомбардируем диск потоком запросов на чтение или запись блоков данных по 512 байт при глубине очереди исходящих запросов, равной единице. Количество запросов, обработанных диском, превышает 60 тысяч, так что мы получаем устоявшееся время отклика диска, не зависящее от объёма его кэш-буфера.


Перед нашими глазами - результаты дисков в IOps - количестве выполненных запросов в секунду. Чем больше запросов диск успевает обработать - тем он, как легко догадаться, - быстрее.
Очевидно, мы наблюдаем совершенно разную политику упреждающего чтения у двух дисков WD740GD и, что самое интересное - существенно разные подходы и при работе с запросами на запись! Диск WD1500AHFD занял промежуточное место по скорости чтения, но уверенно обходит оба диска WD740GD при работе с запросами на запись. Впрочем, при вдвое большем объёме кэш-буфера было бы странно, если бы он показал другие результаты.
Можно перевести IOps в более привычные цифры - время отклика при чтении/записи


Само собой, это не меняет результаты, меняется только их представление. :)
Чуть позже мы вернёмся к исследованию поведения дисков в режимах с случайными запросами на чтение и запись, а пока мы займёмся изменением скорости чтения из буфера жёсткого диска и скорости записи в буфер диска.

BurstRate


Существует масса тестов, которые могут измерять скорость чтения из буфера диска, но, к сожалению, почти все они обладают рядом недостатков. В первую голову, измерение скорости чтения из буфера ведётся с использованием блоков малого размера (согласно старым спецификациям ATA/ATAPI). Также, вызывает сомнение количество итераций...

Посему, нет ничего лучше, чем тест, алгоритм которого ты знаешь... К тому же, IOMark умеет измерять и скорость записи в буфер, что, может быть, значительно интереснее, чем скорость чтения из него.

Первый тест проведён при подключении диска через контроллер Promise S150 II TX2+

WD1500AHFD via Promise S150 II TX2+

Хм... похоже, мы упёрлись в пропускную способность контроллера, работающего через обычный PCI-разъём.
Попробуем через чипсет:

WD1500AHFD via ICH7

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

WD740GD-FLA1 via ICH7


WD740GD-FLС0 via ICH7

Хм... Практически, близнецы-братья. И у обоих дисков скорость записи в буфер оказалась меньше, чем скорость чтения из него. А у WD1500AHFD скорость записи в буфер почти такая же, как и скорость чтения.

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


Очевидно, Raptor X превосходит по этому параметру диски предыдущего поколения. Особенно его преимущество проявляется при записи в буфер.

Скорость линейного чтения


Для построения графиков линейного чтения мы воспользуемся старым добрым Winbench99 (графики кликабельны):


WD740GD WD1500AHFD

Что же, новый Raptor прибавил почти 15 мегабайт в секунду по скорости линейного чтения - впечатляющий шаг вперёд! В то же время, несмотря на бытующее мнение, что производительность диска непосредственно связана со скоростью линейного чтения, высокая линейная скорость - это еще не залог успеха.
В этом мы убедимся буквально в следующем разделе обзора.

NCQ vs. TCQ


Важнейшим из искусств для нас является кино, а основная интрига этого обзора - поддержка технологии Native Command Queuing (NCQ) новым жёстким диском компании WD.
До недавнего времени жёсткие диски WD Raptor поддерживали только так называемый "legacy ATA queuing". В переводе с языков пресс-релизов компаний-конкурентов "legacy" обозначало "устаревшая" и "архаичная". А вот технология NCQ - это "наше всё"...
Однако, как мы помним, даже та старая и архаичная технология весьма неплохо себя показывала. ;)

Теперь же диски Raptor обзавелись поддержкой наиболее современной из технологий изменения порядка выполнения команд, так что даже самым недружелюбным конкурентам не в чем более упрекнуть компанию WD (разве что в растущих доходах... ;) ).
Жёсткие диски WD740GD обладают поддержкой TCQ (Tagged Command Queuing), а Raptor X - обзавёлся поддержкой NCQ. Благодаря тому, что контроллер Promise S150 II TX2+ поддерживает оба варианта технологии изменения порядка выполнения команд, сравнение в действии двух технологий будет наиболее наглядным.

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

Диск, получив от контроллера команды на чтение секторов со случайным адресами, ставит их в очередь (специальный буфер на 32 команды) и выполняет в том порядке, в каком, по его (диска) разумению это будет "выгоднее" для пользователя. Определяется ли выгода уменьшением среднего времени отклика на запрос или диск будет стараться уменьшить максимальное время отклика - это и есть know how программистов, работающих над самыми секретными алгоритмами firmware диска.

Наша же задача - подать на вход чёрного ящика (буквально :) ) запросы, получить от него некие "ответы" и, потом, как полагается у шаманов, подпустив туману, истолковать ответы в наиболее выгодном для себя свете.
Итак, на следующей диаграмме размещены результаты трёх наших исследуемых дисков - двух дисков WD740GD и диска Raptor X.

И что же мы видим?! Даже старый WD740GD-FLA1 значительно опережает (при глубине очереди исходящих запросов >16) новый диск WD. Что уж говорить о диске WD740GD-FLC0 - на языке вертится только один эпитет - "бешенай"!..
Быть может NCQ в новом диске не работает? Или контроллер не посылает ему "волшебных" команд? С другой стороны - рост производительности при увеличении глубины очереди исходящих запросов - налицо.
Мало того, на нагрузках до 32 запроса график увеличения скорости имеет довольно характерную форму...
Быть может, стоит использовать старый трюк с запретом использования контроллером "Read FPDMA Queued"-команд?

Действительно, при помощи утилиты PDCM (поставляемой вместе с контроллером Promise) мы можем запретить использование queued-команд. И, если мы обнаружим существенную разницу между производительностью диска с включённой поддержкой таких команд и диска, у которого выполнение таких команд запрещено, мы сможем оценить "пользу" от применения NCQ на диске WD1500AHFD.
Ну, а для того, чтобы исключить фактор "привязки" к контроллеру одного производителя, мы используем и чипсетный контроллер Intel - ICH7R. В этом случае выключение поддержки NCQ мы производили через BIOS материнской платы (отключая опцию AHCI).
На следующей диаграмме мы разместили четыре графика (по два на каждый контроллер), каждый из которых отражает реакцию связки контроллер-диск на увеличение глубины очереди команд.


Очевидно, NCQ на новом диске работает. Причём, как мы можем видеть, графики диска с включённой поддержкой NCQ, полученные на разных контроллерах, почти идентичны. Чего нельзя сказать о графиках диска с отключённой поддержкой NCQ - на контроллере Intel график получился несколько "чище". Это мы говорим не в упрёк контроллеру Promise (использовать его и диск с поддержкой NCQ и выключать эту самую поддержку придёт в голову разве что тестерам ;) ), а как поклонники гармонии в алгебре...

Итак, поддержка NCQ у диска обнаружена. Теперь давайте проверим, как диск справится с потоком команд, в котором, кроме запросов на чтение будут присутствовать и запросы на запись.
Для этого мы сделали несколько паттернов для IOMeter, отличающихся долей запросов на запись и "прогнали" их на диске (через контроллер Promise).


Довольно занятные получились графики! Отлично видно, что по мере увеличения доли запросов на запись графики "разгибаются" вверх в зоне малых нагрузок. В то же время, графики с большой долей запросов на запись как бы утрачивают бойцовый пыл в областях больших нагрузок, вырождаясь, практически, в прямую линию.
Напрашивается только один вывод - это связано с уменьшением доли запросов на чтение. Но, тогда, получается что NCQ "работает" только с запросами на чтение? Похоже, что так.

Впрочем, давайте проверим. Будем "кувать железо, не отходя от кассы" (с) ;)

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


И что же мы видим? Вне зависимости от поддержки NCQ графики, в основном, совпадают. Таким образом, лемму об отсутствии поддержки технологии чередования команд для операций записи можно считать доказанной.
Может быть подобные выводы локальны - то есть применимы только к одному жёсткому диску? Ан, нет.
Мы провели тесты на нескольких SATA300-дисках различных фирм и всегда их поведение при большой доле запросов на запись было аналогичным поведению WD1500AHFD.

В чём может быть причина идиосинкразии к запросам на запись по случайным адресам? Почему их не ставят в общую очередь? Ответ, как нам кажется, прост до банальности - невыгодно. В смысле, не "невыгодно с точки зрения прибылей", а в смысле "невыгодно с точки зрения производительности"!
Действительно, зачем "пихать" запросы на запись в узкое горлышка буфера на 32 команды, когда к их услугам... огромный кэш-буфер!
То есть на диск посылаются запросы на запись, диск кладёт их в кэш и рапортует о выполненной операции, ничего пока не записывая на пластину! С точки зрения стороннего наблюдателя, это будет ОЧЕНЬ БЫСТРЫЙ ДИСК. ;)
Отложенная запись - вот "палочка-выручалочка" современных дисков для настольных систем и, во многом, за счёт улучшения алгоритмов адаптивной отложенной записи производительность дисков увеличивается год от года. Объём кэш буфера у современных жёстких дисков достиг уже цифры в 16МБ и, быть может, вырастет ещё больше. Даже в половине этого объёма (допустим, мы половину кэша отдали под упреждающее чтение и служебные таблицы) можно, если задаться такой целью, уместить 16384 сектора...
Конечно, столько сегментов буфера никто делать не будет. Ведь чем больше сегментов кэша будет создано, тем выше будут накладные расходы по обслуживанию этого кеша. Представьте, что мы знаем, где сейчас находятся головки и нам нужно определить последовательность выполнения отложенных запросов на запись. Чем больше количество сегментов, тем больше времени потребуется для вычисления оптимального порядка выполнения запросов!

Впрочем, я немного отвлёкся... Количество сегментов кэш-буфера под отложенную запись у современных жёстких дисков превышает 32, так что никакого смысла использовать механизм Write FPDMA Queued у них нет. Вот они его и не используют. ;)

О том, к каким забавным эффектам это может привести, мы можем наблюдать на примере диска Maxtor с 16МБ-буфером. На графике ниже будет показана зависимость скорости рандомного чтения и записи от размера блока данных.


Видите этот забавный "горб" в начале графика записи? Это диск, определив, что его бомбардируют мелкими блоками со случайными адресами, пытается противостоять DDoS-атаке, просто коллекционируя эти запросы в свой кэш. Сколько кэш-линий он открывает при этом - пока неизвестно. Но, как бы то ни было, решение изящно...
Забавно, но такая вполне логичная стратегия кэширования дисков Maxtor настолько шокировала некоторых наших коллег, что они, с перепугу, стали путать время доступа с временем поиска. :)

Немного позлорадствовав, вернёмся к теме обзора. Резюме по разделу, посвящённому NCQ, будет следующее - диск WD1500AHFD-00RAR0, попавший к нам на тесты, технологию NCQ поддерживает.
В то же время, скоростные показатели Raptor X при больших нагрузках оказались меньше, чем у диска WD предыдущего поколения. Отдельно стоит отметить фантастически высокую скорость диска WD740GD-FLC0 (видимо, это специальная версия диска для использования в серверах...).

Говорить о том, что технология NCQ не сумела доказать своё превосходство над TCQ пока не стоит. Всё же мы пока протестировали только один диск...

Random Read/Write


Ну а теперь, как я обещал чуть выше, вернёмся к обсуждению скоростей в режимах с случайными запросами на чтение и запись.
В первый раз мы проверили, как диск реагирует на случайные запросы размером с сектор (512байт). А что будет, если размер блока постепенно увеличивать? Вдруг, мы выявим некую аномалию... А даже если не выявим, то получим интересную зависимость скорости случайного чтения и записи от размера блока. Может быть, мы даже придём к линейному чтению.


Ну, что же, у нас опять масса информации для размышлений. Все три диска выпущены одной компанией, но насколько же разное поведение они демонстрируют! По всей вероятности, политика упреждающего чтения у диска WD740GD-FLA1 крайне консервативна. В смысле, он, похоже, вообще не пытается читать что-то впрок.
Так как пластины у дисков WD740GD одинаковы, то разницу в скоростях случайного чтения можно объяснить работой алгоритмов упреждающего чтения.
Что же касается диска WD1500AHFD, то можно сказать только одно - он больше тяготеет к упреждающему чтению, что видно из малого падения скорости на блоках среднего размера.

Посмотрим, что будет при записи (подспудно ожидаем сюрпризы ;) ):


И они не замедлили появится! Оказывается, при работе с блоками данных в диапазоне 1-32КБ диски WD740GD работают быстрее, нежели при работе с блоком в сектор! Такое впечатление, что для блоков в сектор отложенная запись либо не работает, либо работает крайне лениво (не выделяется макс. количество сегментов - попытка экономить объём кеша?).

Общим же выводом из двух вышеприведённых графиков будет следующий - даже при работе с 32МБ-блоком данных случайные чтение/запись не трансформируются в линейные операции.
Кстати о линейных операциях...

Sequential Read/Write


Здесь всё просто - на диск посылается поток запросов на чтение или запись, причём адреса блоков данных последовательно возрастают.
Раз в минуту мы меняем размер блока данных, так что в результате получаем зависимость скорости линейного чтения или записи от размера блока.




Можем сказать только одно - по скорости линейного чтения диски WD740GD - не конкуренты Raptor X! Особенно впечатляет его превосходство при операциях записи мелкими блоками (- помните графики Write Burst Rate?).

А дальше у нас опять интересности - измерение скорости работы дисков при многопоточных операциях.

Multi-Threaded Read/Write


В отличие от наших коллег, для подобного рода исследований мы не пользуемся NBench. Так как объём кэша жёстких дисков достиг 16МБ, нам нужно средство "продавить" через кэш такой объём данных, который бы свёл к минимуму погрешность измерения, связанную с работой алгоритмов отложенной записи. С тестом Nbench мы бы всегда получали скорость записи выше, чем линейная скорость чтения по той простой причине, что диск рапортует о завершении процесса записи до того, как хвост файла, лежащий в кэше, будет реально записан на пластину.
Итак, мы используем IOMeter, а время работы теста выбирается каждый раз таким, чтобы объём прокачанных данных, как минимум, на два порядка превышал размер кэш-буфера диска. Всего мы создаём до четырёх одновременно работающих потока (за каждый поток отвечает отдельный worker со своим диапазоном дискового пространства для работы). Работа с диском идёт блоками по 64КБ, а глубину очереди исходящих запросов мы плавно меняем от 1 до 8.
Но на диаграммах ниже представлены только результаты, полученные при глубине очереди=1, как более соответствующие среднестатистической нагрузки на диски для настольных систем.

При одном потоке мы фактически имеем линейное чтение с диска и, потому, неудивительно что два диска WD740GD показывают одинаковые результаты, а WD1500AHFD значительно опережает их.
При двух потоках расстановка сил несколько меняется. Впереди, по-прежнему, WD1500AHFD, а вот диски WD740GD "разделились". Наш "бешенай" диск - WD740GD-FLC0 неожиданно сдал, прилично уступив своему собрату. Вот они - последствия "заточки" под рандомные операции и нежелание делать упреждающее чтение.
Результаты этого теста я, обычно, воспринимаю на слух. Если диск после работы с одним потоком начинает "стучать" головками, "бегая" между двумя рабочими зонами, скорость будет мала. Если же диск почти не слышно - этот диск будет быстр...
В данном случае, диск WD740GD-FLC0 не поверил, что в каждой из зон мы будем продолжать операции чтения и каждую из команд на чтение воспринимал без учёта статистики предыдущих запросов.
При трёх потоках вперёд вышел WD740GD-FLA1, а WD740GD-FLC0 подтянулся и сравнялся с WD1500AHFD.


При записи однозначным лидером является диск WD1500AHFD, а вот между двумя дисками WD740GD разгорелась нешуточная борьба. Если на одном и двух потоках диски WD740GD шли буквально ноздря в ноздрю, то при большем числе потоков вперёд резко выходит WD740GD-FLC0. Впрочем, с тем же успехом можно сказать, что это WD740GD-FLA1 резко отстаёт от собрата...
Чем объяснить превосходство WD1500AHFD - большим объёмом кеша или лучшими алгоритмами прошивки - сложно сказать. Но он однозначно быстрее, чем Raptor-ы предыдущего поколения.

Database


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

Для этого мы, как обычно, используем паттерн для IOMeter, в котором на диск подаются запросы на чтение и запись 8КБ-блоков данных, причём последовательно меняется глубина очереди исходящих запросов и процентное соотношение запросов на чтение и запись.
На трёх графиках ниже приведены зависимости быстродействия дисков от доли запросов на запись при трёх вариантах нагрузки (1, 16 и 256 запросов, соответственно)

При линейной нагрузке вне конкуренции - диск WD1500AHFD. Только при большой доле запросов на запись его "настигают" диски WD740GD.
Посмотрим, что будет при увеличении нагрузки (памятуем о графиках тестов NCQ!):


При нагрузке в 16 исходящих запросов оба диска WD740GD легко обходят WD1500AHFD в режимах с преобладанием доли запросов на чтение. В режимах же с большой долей запросов на запись WD1500AHFD вполне способен конкурировать с дисками WD740GD.
Доведём нагрузку до максимума:

Тут пространные комментарии излишни.

За исключением линейной нагрузки новый диск WD - Raptor X не может конкурировать с дисками предыдущего поколения в подобных режимах. И, конечно, стоит еще раз отметить крайне высокую производительность диска WD740GD-FLC0. Похоже, все серверные тесты закончатся за явным преимуществом этого диска.

Fileserver & Webserver


Собственно, сейчас мы и посмотрим, насколько будет хорош WD740GD-FLC0 в паттернах, имитирующих нагрузку на файл- и веб-сервера. Как я обещал в начале статьи, на этой стадии мы подключим в сравнение два SCSI-диска - самый быстрый десятитысячник и самый медленный - Maxtor Atlas 10K V и Seagate Cheetah 10K.7.

Собственно, всё наглядно видно - SCSI-диски - вне конкуренции. Даже самый неторопливый из нового поколения десятитысячников - Seagate Cheetah 10K.7 легко обходит "бешаного" WD740GD-FLC0, не говоря уже о WD1500AHFD.
Кстати, последний неплохо отработал на малых нагрузках, но, затем, совершенно не захотел "разгоняться" вслед за собратьями.


Результаты тестов в паттерне Webserver уже ничем удивить нас не может - WD1500AHFD уступает как Raptor-ам предыдущего поколения, так и SCSI-дискам. На малых нагрузках он выглядит неплохо, но, в целом, не демонстрирует "серверного задора".

Workstation


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

Сначала проведём тест на полном размере диска (допустим, что полезные данные размазаны по всему объёму накопителей)

Действительно, на малых нагрузках диск WD1500AHFD - впереди. Но на больших нагрузках он всё же существенно медленнее.

Посморим, как повлияет на результаты теста ограничение рабочей зоны теста до 32ГБ (мы имитируем работу дисков с системным разделом на 32ГБ - это даёт нам возможность сравнивать диски разного объёма и оценивать пользу от увеличения плотности записи).


Уменьшение зоны работы теста существенно улучшает результаты WD1500AHFD. Интересно, как это скажется на обобщённом балле производительности, который мы считаем по следующей формуле:

Производительность = Total I/O (queue=1)/1 + Total I/O (queue=2)/2 + Total I/O (queue=4)/4 + Total I/O (queue=8)/8 + Total I/O (queue=16)/16 + Total I/O (queue=32)/32

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


Что же, за счёт более высокой скорости работы при малых нагрузках диск WD1500AHFD сумел опередить конкурентов как при работе на полном объёме диска, так и в пределах первых 32ГБ.

PCMark 05


А теперь мы попробуем оценить быстродействие дисков при помощи пакета FutureMark PCMark05. Этот пакет включает в себя, в числе прочего, набор тестов для жёстких дисков. Принцип работы тестов прост - пользователь может запустить на выбранном жёстком диске заранее подготовленную трассу - фактически - лог обращений к некоему "дефолтному" жёсткому диску, жестоко затестированного в тайных лабораториях Futuremark.
Всего в тестовом пакете содержится пять трасс:

XP StartUp - загрузка операционной системы
Application Loading - загрузка приложений
General Usage - "обычная работа"
Virus Scan - сканировании (чтение?) файлов
File Write - запись крупного файла

Тестовый пакет предоставляет возможность запускать каждый тест отдельно, либо пакетно. Мы выбрали второй вариант, и, может быть, были неправы.
Дело в том, что каждый порядочный жёсткий диск в душе всё таки мечтает быть "чёрным ящиком". Причём таким "чёрным ящиком", время ответа которого на запрос извне зависит от всей истории предыдущих запросов. Запуская тесты пакетно, мы заставляем диск последовательно пропускать через себя все трассы. При этом диск не успевает "настроиться" на одну трассу, как мы уже запускаем на нём другую.

С другой стороны, довольно странно было бы, если бы мы десять раз подряд запускали трассу XPStartUp - ведь подразумевается, что загрузка операционной системы происходит либо после холодного, либо после тёплого старта системы, при которых происходит реинициализация жёсткого диска (т.е. сбрасывается накопленная статистика обращений и диск переходит в некое "исходное" состояние).

Но, как бы то ни было, условия тестов были идентичны для всех участников, так что мы вполне можем сравнивать полученные результаты:


Что же, здесь WD1500AHFD вновь на высоте. Только при выполнении трассы загрузки Windows с ним может успешно конкурировать наш "бешенай" диск - WD740GD, а на остальных трассах Raptor X - вне конкуренции.
Забавно, но результатам дисков на трассах Virus Scan и File Write, похоже, нельзя доверять - измеренная скорость дисков превышает их максимальные физические способности.

FC-Test 1.0


Но у нас есть тест, который умеет измерять скорость работы с файлами немного лучше, чем PCMark. :)
Речь, конечно, идёт о FC-Test.

Мы применяем FC-Test по нашей стандартной методике - на тестируемом диске создавалось два логических диска по 32 GB, и они размечались сначала в NTFS и, затем, в FAT32. На первом логическом диске создавался набор файлов, затем этот набор файлов читался с диска, затем набор файлов копировался в директорию, созданную на первом логическом диске (т.е. производилось копирование внутри одного раздела), и завершало цикл тестов копирование первого набора файлов на второй логический диск.
Между каждым тестом проводится перезагрузка компьютера, тем самым мы исключаем влияние файлового кэша операционной системы на результаты тестов. Всего мы используем пять наборов файлов:

Install - 414 файлов общим объёмом 575МБ;
ISO - три файла общим объёмом 1.6ГБ;
MP3 - 271 файл общим объёмом 1ГБ;
Programs - 8504 файла общим объёмом 1.4ГБ;
Windows - 9006 файлов общим объёмом 1.06ГБ.

Рассмотрим результаты дисков для каждого действия отдельно:


С записью крупных файлов лучше всех справляется WD1500AHFD, а вот при работе с мелкими файлами вперёд выходит WD740GD-FLC0, хотя и совсем не намного. Откровенно разочаровывает WD740GD-FLA1 - он очень сильно отстал от двух других дисков.
Посмотрим, что будет со скоростью чтения наборов файлов:


лучшую скорость при чтении опять показал Raptor X, хотя в ряде случаев WD740GD-FLC0, буквально, наступал на пятки. Интересно другое - за исключением паттерна ISO, диск WD740GD-FLA1 довольно много уступает собрату. Так как чтение файлов идёт не рандомно, то, по всей видимости, срабатывают лучшие алгоритмы упреждающего чтения у WD740GD-FLC0 (вспоминаем результаты тестов RandomRead).


При копировании файлов внутри патриции безоговорочную победу одержал Raptor X. Большой кэш плюс высокая скорость чтения/записи - вот слагаемые успеха. В микродуэли дисков WD740GD верх взял WD740GD-FLC0, значительно опередив конкурента в четырёх из пяти наборов файлов.


Копирование из раздела в раздел не изменило расстановку сил. Впереди, с большим отрывом - Raptor X, а WD740GD-FLC0 значительно опережает WD740GD-FLA1.

Результаты под FAT32 можно подробно не обсуждать - качественно они не отличаются от полученных на NTFS. Но, для поклонников этой файловой системы, диаграммы мы построили:





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

FC-Test 2.0


Как было уже сказано чуть выше, работа с файлами в наших скриптах для FC-Test идёт не рандомно. Файлы пишутся на диск вподряд (так как перед тестом диск пустой, а между циклами работы с паттерном диск форматируется) и читаются с диска вподряд-же. Таким образом диск работает почти в идеальном режиме, особенно хорошо это заметно по результатам на паттерне ISO - там диск почти достигает скорости линейного чтения.
Однако в реальной жизни существует так называемая фрагментация файлов, т.е. файлы могут и не лежать на диске одним связным кусок, а могут быть "раздроблены" на несколько фрагментов. Скорость чтения фрагментированного файла по понятным причинам будет несколько меньше, чем скорость чтения файла, состоящего из одного большого фрагмента.
Имитировать фрагментацию файлов на секторном уровне мы не можем. Но мы можем имитировать фрагментацию на уровне файлов, то есть такую ситуацию, когда файлы читаются не в том порядке, как они лежат на диске, а в... другом. :)

Другими словами, хочется попробовать читать файлы "рандомно". В принципе, это можно было делать и при помощи FC-Test 1.0 - надо было только подготовить заранее созданные файл-листы (в которых и программировалась последовательность обработки файлов) и читать файлы с диска по файл-листу.
Но это неудобно, да и непрозрачно...
Имитировать рандомное чтение файлов при помощи IOMeter? - Боже, избави. Во-первых, составить правильный паттерн для такого тестирования - задача для математического гения. Во-вторых, всю оставшуюся жизнь этот гений будет объяснять людям, что его паттерн - правильный. ;)
Лучше мы воспользуемся возможностями нового тестового пакета - FC-Test 2, который в настоящий момент проходит обкатку в нашей лаборатории.
Помимо всего прочего, тест научился читать файлы с заданной степенью рандомности и локальности... В переводе на русский это означает, что мы можем программировать максимальную длину цепочки файлов, считанную за один цикл и максимальную длину "прыжка" по списку файлов.

Для данного теста мы максимально упростили схему работы скрипта - длина "прыжка" ограничена ста файлами, а длину цепочки файлов мы меняли от 1 до 10, причём длина цепочки была фиксированной (генератор случайного числа в данном случае блокировался).
Таким образом мы получим зависимость скорости рандомного чтения файлов от длины цепочки файлов, читаемых за один цикл.


Вот такие вот получились результаты...
Диск WD1500AHFD, за редким исключением, почти всегда впереди. Заслуженное второе место завоевал WD740GD-FLC0, а WD740GD-FLA1, соответственно, пришёл к финишу третьим.

Флуктуации результатов в тесте легко объяснимы - в качестве рабочего паттерна мы взяли стандартный паттерн Programs из FC-Test 1.0, и, как Вы понимаете, все файлы там не одинакового размера. Из за этого суммарный объём данных цепочки файлов не есть величина, строго зависящая от количества файлов в цепочке. Скорость рандомного чтения зависит как от скорости перемещения головок, так и от объёма данных, считанных за один заход. И, если с первым параметром всё более или менее ясно - чем выше плотность записи (и чем больше пластин!) у жёсткого диска, тем меньше треков займут данные файлов паттерна. Соответственно, сужение зоны перемещения головок напрямую влияет на быстродействие (кстати, это правило действует и для трековых тестов - потому все производители и присылают на StorageReview диски максимального объёма...).
То со вторым параметром всё сложнее - какие N-файлов нам попались подряд, от этого и зависит объём файлов, считанный в один заход.

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

Выводы


В этом обзоре мы подробно рассмотрели новый жёсткий диск WD, предназначенный для компьютерных энтузиастов - людей, предпочитающий использовать в своих компьютерах только самые современные и быстрые компоненты. Зачем они так поступают - для увеличения скорости работы компьютера или для удовлетворения низменных страстей - нас не интересует. У нас была цель - определить, насколько Raptor X соответствует той нише рынка, на которую его продвигает WD.

И наш вердикт - соответствует на все сто пять процентов. По всем нашим тестам было отлично видно, что диск Raptor X ориентирован на работу в однопользовательском режиме, в котором он выглядит намного лучше своих ближайших конкурентов. Да, круг участников нашего тестирования был намеренно сокращён, но не потому, что авторы ленятся... Просто мы решили спасти лицо тем компаниям, которые до сих пор не имеют продуктов, аналогичных дискам WD Raptor. ;)

Находка WD - персонализировать диск, открыв глазам пользователя доселе секретную часть жёсткого диска - весьма удачна. Прозрачное окошко резко прибавляет узнаваемости диску, делая его "драгоценной жемчужиной" в витрине компьютерного магазина. Так что за коммерческий успех Raptor X можно не беспокоиться - кто однажды вкусил запретного плода...

P.S. И, всё же, нам бы очень хотелось найти "серверный" вариант нового Raptor-а...