Введение
Четыре года назад я впервые
попробовал сравнить, если угодно, «рейдопригодность» нескольких прошивок для очень популярных в то время дисков
Seagate Barracuda ATA IV.
Результаты тех тестов были обескураживающие – диски Barracuda ATA IV, будучи объединены в RAID0-массив, в некоторых тестах уступали по производительности одиночному диску. До сих пор помню шум, который тогда поднялся в форумах…
С тех пор подобные тесты я проводил только для «внутреннего» использования и не публиковал результаты.
Но сейчас на рынке жёстких дисков чётко наметилась тенденция, когда на базе диска для настольных систем производители выпускают «профессиональную» версию дисков, специально для использования в дисковых подсистемах серверов начального уровня, систем хранения данных и рабочих станций.
Эти диски оснащаются специальными технологиями, призванными обеспечить должный уровень производительности при существенно большей, нежели у обычных дисков для настольных систем, надёжности. Особое внимание при проектировании дисков уделялось работе дисков в условиях вибрации…
Итак, в этом обзоре я попробую вернуться к теме сравнения рейдопригодности жёстких дисков, но, так сказать, на новом уровне. Не так давно наши коллеги уже пробовали затронуть эту тему, но, на мой взгляд, их подход имел определённые недостатки.
Тестируя «Диски «xxxx» от компании «yyyy» в массиве RAID1» невозможно определить, что в большей мере влияет на результат – диски или использованный для тестов RAID-контроллер. Только сравнение результатов тестов нескольких дисков на одном контроллере помогут нам сделать практические выводы из подобного тестирования. Правда, эти практические выводы будут жёстко привязаны к контроллеру, на котором поводились тесты…
Да, увы, как верно заметил в своё время Архимед, мир невозможно перевернуть, не имея точки опоры. Привязываясь к контроллеру, мы, конечно, утрачиваем одну степень «свободы», но, зато, взамен, мы получаем возможность сравнить между собой именно диски. А это, собственно, нам и нужно.
Какой же контроллер выбрать для тестов? Согласно заветам одного нашего поющего кулинара, «главное в нашем деле – хорошая плита!». Не так давно мы тестировали контроллер Areca ARC1220 и, судя по
отличным результатам, которые он показал, он нам вполне подойдёт.
Второй момент, с которым надо определиться – типы интересующих нас массивов и количество дисков в них. По здравому размышлению я решил остановиться на массивах RAID 0, RAID 5 и RAID 10 на четырёх дисках.
Итак, протестируем на контроллере Areca ARC1220 следующие диски:
Hitachi Deskstar 7K400 (HDS724040KLAT80)
Maxtor DiamondMax 11 (6H400F0)
Seagate NL35 (ST3400832NS)
WD Caviar SE (WD4000KD)
WD Caviar SE16 (WD4000KS)
WD Caviar RE (WD4000YR)
В числе участников тестирования есть два «профессиональных» диска от компаний Seagate и Western Digital (ST3400832NS и WD4000YR) и четыре обычных «настольных» диска. Естественно, каждая модель диска была представлена четырьмя представителями из одной партии и с одинаковыми версиями прошивок.
Выбор 400ГБ-дисков продиктован лучшим соотношением ёмкость/цена. Если ревнители новых моделей и техноснобы не увидели в числе рассмотренных сегодня дисков свои любимые модели, могу обнадёжить их, что подобные обзоры будут публиковаться у нас регулярно.
При взгляде на список участников тестирования может возникнуть вопрос – а зачем всё это затеяно? Ведь совсем недавно мы уже
протестировали современные диски большой ёмкости и примерно знаем расклад сил. Однако, во-первых, диски у нас сегодня несколько другие и, во-вторых, одно дело, когда диски работали в «одиночном режиме» и совсем другое – их работа в составе RAID-массивов.
С одной стороны, средняя нагрузка на каждый диск в составе RAID-массива падает – ведь очередь запросов делится между всеми дисками-участниками массива. С другой стороны, в зависимости от типа массива и «крутости» прошивки RAID-контроллера каждый запрос на массив может превращаться в несколько запросов к дискам. Например, запрос на запись на массив RAID5 трансформируется внутри контроллера (в теории) в два запроса на чтение и два запроса на запись, обращённые на два разных диска. Или, контроллер, работающий с массивом RAID1, дублирует запросы на чтение на оба диска в маниакальном желании убедиться, что данные на обоих дисках идентичны.
Из-за этого изменяются временные характеристики нагрузки – время между двумя запросами к конкретному диску, что требует от дисков изменения алгоритмов упреждающего чтения и отложенной записи.
Ну и, конечно, заслуживает отдельного упоминания то влияние, которое оказывает на характер нагрузки на диски работа алгоритмов кэширования контроллера (особенно если последний обладает собственной кэш-памятью).
В общем, хватит слов, пора приступить к делу!
IOMeter Database
Давайте посмотрим, как диски будут работать под нагрузкой, типичной для серверов баз данных.
Для этого, как обычно, используем паттерн для IOMeter, в котором на диск подаются запросы на чтение и запись 8КБ-блоков данных, причём последовательно меняется глубина очереди исходящих запросов и процентное соотношение запросов на чтение и запись.
Для каждого из трёх типов массивов построено по три графика зависимостей быстродействия дисков от доли запросов на запись при трёх вариантах нагрузки (1, 16 и 256 исходящих запросов, соответственно)
В массиве RAID0 при малой нагрузке сначала лидировал диск Hitachi, затем, по мере увеличения доли запросов на запись, его обогнали диски Western Digital и, наконец, в режиме RandomWrite (т.е. при 100 процентной доле запросов на запись) вперёд «выпрыгнул» диск Maxtor, доселе деливший вместе с диском Seagate последние места.
При увеличении нагрузки диски WD опережают диск Hitachi практически с самого старта.
Особенно хороша оказалась модель WD4000KS, которая с большим отрывом от ближайших преследователей довольно долго удерживала лидерство. Отметим, что уступила эта модель только «соплеменникам» из предыдущего поколения дисков WD.
На последнем месте, как и в предыдущий раз, оказался диск Seagate.
При такой нагрузке превосходство WD4000KS над остальными дисками становится просто неприличным. ;)
Видимо, секрет успеха этого диска состоит в том, что он обладает поддержкой NCQ, хотя на эту тему сайт WD молчит на редкость красноречиво…
Отметим также небольшие успехи диска Seagate, хотя, на фоне WD4000KS, эти успехи действительно невелики.
Посмотрим, что изменится (или не изменится) при работе дисков в массиве RAID5.
Итак, перед нами наглядная демонстрация того, как алгоритмы контроллера влияют на быстродействие массива из определённых дисков. Обратите внимание на эти ломаные линии – это и есть следствие «конфликта» между алгоритмами контроллера и отложенной записью дисков.
Обратите внимание, что диски Hitachi уже не так хороши, как в случае RAID0. А вот диски WD опять на высоте, и, как и в предыдущий раз, впереди – WD4000KS.
По мере увеличения нагрузки графики приобрели знакомый нам вид – пологая кривая, ниспадающая по мере увеличения доли запросов на запись.
Лидируют опять диски WD, а Hitachi могут бороться с ними только в режимах с малой долей запросов на запись. В нижней части графика мы можем наблюдать двух аутсайдеров – диски Maxtor и Seagate.
При дальнейшем увеличении нагрузки WD4000KS резко уходит в отрыв, а диски Seagate обгоняют «конкурентов» от Maxtor.
Осталось рассмотреть поведение дисков в массиве RAID10.
Хм… Похоже, здесь у нас завязалась борьба!
Диск Hitachi на малых нагрузках опять выглядит неплохо и довольно успешно конкурирует с дисками WD4000KD и WD4000YR. Их более «именитый» собрат – WD4000KS в этом режиме отработал не так хорошо, как хотелось бы, а на последнем месте – NL35.2 от Seagate.
Увеличение нагрузки вновь «оживляет» WD4000KS – он лидирует в режимах с малой долей запросов на запись. И опять в числе лидеров – еще два диска от WD.
В таком режиме диск WD4000KS опять намного быстрее остальных при большой доле запросов на чтение (за счёт NCQ, надо полагать).
Итак, этот раунд – за дисками WD. Особо следует отметить WD4000KS за его способность ускоряться при больших нагрузках на массив.
IOMeter Fileserver & Webserver
Следующие на очереди – паттерны, эмулирующие нагрузку на дисковую подсистему серверов.
Начнём с паттерна Fileserver:
При работе в RAID0 диски разделились на три группы. В первой, в гордом одиночестве – WD4000KS. На больших нагрузках его отрыв от остальных дисков просто огромен.
Во второй группе идёт борьба между дисками Hitachi и двумя моделями от WD. Кто побеждает – сказать сложно, ведь Hitachi побыстрее на малых нагрузках, а диски WD выходят вперёд на больших.
В третьей группе – диски Seagate и Maxtor. Как говориться, без комментариев…
Похоже, в массиве RAID5 диски WD работают явно лучше, чем Hitachi. В лидерах – троица дисков от WD.
В RAID10 на малых нагрузках диск WD4000KS чувствует себя не очень уверенно. Это приводит к тому, что его собратья выходят вперёд. Но, по мере увеличения нагрузки WD4000KS вновь возвращает себе лидерство.
Так как в паттерне Webserver запросы на запись отсутствуют, как класс, сдаётся мне, что в нём диск WD4000KS будет чувствовать себя, как рыба в воде.
Собственно, что и требовалось доказать. Диск Hitachi быстр на малых нагрузках, но постепенно WD4000KS «берёт своё».
И в остальных типах массива картина не меняется. Этот раунд – за диском WD4000KS.
IOMeter Workstation
В этих паттернах эмулируется работа приложений под файловой системой NTFS. За счёт большой доли запросов на запись, свойственных этому паттерну, получают свой шанс диски, отличные от WD4000KS… :)
Мда… Опять впереди диски WD. На малых нагрузках лидируют два «старых» диска WD, а на больших – в лидеры выходит новая модель.
В режиме RAID5 диск WD4000KS начинает конкурировать с собратьями на намного меньших нагрузках, нежели в случае RAID0. Что это – эффект от «виртуального увеличения нагрузки»?
В режиме RAID10 картина практически не отличается от той, что мы видели для RAID5.
Довольно интересно будет узнать, как скажется на результатах теста ограничение размера рабочей области теста до 32 гигабайт.
Как видим, диск Hitachi довольно чутко реагирует на уменьшение области работы теста. Диск этот имеет большее число головок, нежели остальные, и, потому, ограничение области работы теста означает, что уменьшается и ширина рабочей зоны пластин, в пределах которой перемещаются головки. Соответственно, растёт шанс «short seek» и уменьшается среднее время отработки запроса на чтение или запись.
Впрочем, это помогает ему в схватке с дисками WD только при малых нагрузках.
В RAID5 секретное оружие Hitachi уже не срабатывает. Похоже, что здесь важнее иметь агрессивную отложенную запись. ;)
Довольно странно видеть, как отстал диск Maxtor. Похоже, ему единственному не пошло в прок уменьшение рабочей области теста. Или ему просто не нравится работать в RAID5? ;)
В RAID10 диску Hitachi удаётся обогнать WD4000KS на малых нагрузках, но на этом его успехи заканчиваются. Зато диск Maxtor в RAID10 реабилитируется…
Что же, тесты на эмуляцию дисковой подсистемы рабочей станции также прошёл под знаком превосходства дисков Western Digital.
IOMeter Sequential Read & Write
Эти паттерны помогут нам исследовать производительность связки контроллер-диски в режиме последовательного чтения/записи. На массив при помощи программы IOMeter подаётся поток запросов на чтение/запись с глубиной очереди команд, равной четырём. Раз в минуту в тесте меняется размер блока данных, так что после окончания теста мы получаем зависимость скорости линейного чтения или записи от размера блока данных.
О! У нас появилась возможность отметить в положительном ключе диски Seagate! :)
Без вариантов, они в этом паттерне оказались на высоте. Самые низкие результаты – у дисков Hitachi, как наименее «плотных» из всех дисков, участвующих в нашем тестировании.
При работе в режиме RAID5 отметим чуть более ранний выход на максимальную скорость чтения – уже на 4КБ блоке, против 8КБ для RAID0. Интересно также и то, как достигает максимальной скорости чтения массив из WD4000KS – у него значительно более пологий график.
Зато в массиве RAID10 диск WD4000KS выступил на редкость здорово, опередив все остальные диски.
Посмотрим, что будет при записи.
А при записи у нас вновь отличился WD4000KS – большой кэш и высокая плотность записи позволили ему значительно опередить конкурентов.
В режиме RAID5 у нас опять наблюдается «морская болезнь». На сей раз ни один набор дисков не смог нарисовать ровный график. Очевидно, алгоритмы работы контроллера в RAID5 крайне чувствительны к размеру блока данных и сегментации дисков при отложенной записи.
Что любопытно, в этом тесте у нас очень неплохо выступили диски Maxtor!
При работе в RAID10 опять в лидерах оказался WD4000KS.
IOMeter Multithreaded Read & Write
Очередной любопытный тест – тест на скорость многопоточного чтения и записи. Суть теста в том, что с массива данные одновременно читаются (или пишутся на массив) несколькими потоками. Тесты на одиночных дисках выявили несколько довольно интересных фактов. Во-первых, диски Maxtor прекрасно работали с любым количеством потоков и, во-вторых, на тесте многопоточного чтения откровенно слабо выглядели диски Seagate. В этот раз мы тестируем немного другие диски Seagate и, конечно, мы их тестируем в составе массива и на контроллере Areca1220. Таким образом, в наше уравнение добавилось очень много переменных, так что решать мы его будем численно…
Что же, в массиве RAID0 диски выступили примерно так же, как и
одиночные диски.
Диски Maxtor, по-прежнему, - короли этого теста. Откровенно порадовали результаты Hitachi на нескольких потоках – они ничуть не уступают дискам с значительно большей плотностью записи. Также неплохо выступили диски Seagate – такого ужаса, как
в обзоре 7200.10 мы не обнаруживаем. И, по сложившейся традиции, будем хвалить диск WD4000KS – отлично видно, насколько продвинулись программисты WD при смене поколений жёстких дисков.
При работе в RAID5 скорость несколько падает, но общая картина не меняется.
И при работе в RAID10 мы наблюдаем то же самое – Maxtor впереди, WD4000KS – номер два.
Посмотрим, что будет при записи.
А при записи у нас ничего такого интересного и захватывающего не происходит. Все диски работают через отложенную запись, и все диски делают это хорошо. Диски Hitachi имеют меньший размер кэш-буфера, нежели конкуренты, и это самым непосредственным образом влияет на их результаты. Они, конечно, не вдвое меньше, но… меньше.
В этом режиме вперед выходит вездесущий WD4000KS – вот пострел. ;)
И, конечно, в любимом для него RAID10, вновь впереди WD4000KS.
В этом тесте у нас два героя – диски Maxtor и в составе RAID-массивов сохранили свои прекрасные способности к многопоточному чтению, а с записью лучше остальных дисков справляется WD4000KS.
FC-Test 1.0
Завершает программу тестов наш любимый FileCopy Test.
Мы применяем FC-Test по нашей стандартной методике - на массивах создавалось два логических диска по 32 GB, и они размечались сначала в NTFS и затем в FAT32. На первом диске создавался набор файлов, затем, этот набор файлов читался с диска, затем набор файлов копировался в директорию, созданную на первом логическом диске (т.е. производилось копирование внутри одного раздела), и завершало цикл тестов копирование первого набора файлов на второй логический диск.
Первый тест и первый сюрприз – диски Maxtor и Seagate не слишком успешно справились с созданием «небольших» файлов при работе в массивах RAID0 и RAID10. Диски Hitachi неожиданно слабо выступили в RAID5. Единственным диском, к которому не было претензий… Правильно, это WD4000KS.
На больших файлах диски выступили очень ровно, но вновь мы должны отметить отличные результаты WD400KS.
Опять маленькие файлы и опять проблемы у Seagate, Maxtor и Hitachi.
Переходим к скорости чтения наборов файлов.
Уфф… Ну хоть какое-то разнообразие. Пожалуй, на этот раз пальму первенства стоит отдать дискам Hitachi, а диск WD4000KS, на удивление, показал худшие результаты. Что же, нельзя везде быть первым…
На больших файлах на первый план выходят физические кондиции дисков-участников и потому нет ничего удивительного в том, что вперёд выходят диски Seagate и Maxtor.
На мелких файлах диски показали примерно одинаковую скорость. Отметим неплохие результаты дисков Hitachi и Maxtor и еще один неуспех WD4000KS.
Настала пора копировать наши файлы!
Чёткого лидера нет, хотя на двух массивах из трёх победил доселе неприметный диск WD4000YR. Впрочем, все три диска WD довольно успешно справились с этим тестом.
Диски Hitachi «провалились» в RAID10, а диски Maxtor и Seagate – в RAID5.
«Как причудливо играет кровь» (с)
Диски WD4000KS отлично отработал в RAID10, но «не смог» - в RAID5. В RAID0, всем ветрам назло, победили Hitachi.
С копированием мелких файлов лучше всех справляются диски WD4000KS, но диски Hitachi буквально наступали ему на пятки.
Диаграммы по FAT32 приводим без комментариев, так как, в целом, они мало отличаются от тех, что мы только что рассмотрели.
Выводы
Итак, настала пора сделать некоторые практические выводы из нашего тестирования.
Во-первых, с точки зрения производительности, «профессиональные» жёсткие диски на практике не показали каких-либо существенных преимуществ над «настольными» дисками. Конечно, мы не тестировали диски в условиях вибрации, но…
Во-вторых, мы наглядно видели «пользу» от поддержки диском технологии NCQ. Естественно, говоря о пользе, я имел в виду тесты, эмулирующие серверные режимы работы дисковой подсистемы.
В-третьих, несмотря на заявленную поддержку технологии NCQ дисками Seagate и Maxtor, реальный эффект от её применения показал диск, официально ею не обладающий. В чём состоит поддержка NCQ у дисков Seagate и Maxtor – тема отдельного исследования.
В-четвёртых, пятипластинность диска Hitachi помогла ему только один раз – когда мы намеренно заузили рабочую зону теста. В остальном, диск нередко проигрывал либо из-за малой плотности, либо из-за маленького кэш-буфера. Хотелось бы, конечно, посмотреть на результаты T7K500…
В-пятых, категорически советую присмотреться к дискам WD – компания сделала феноменальный рывок, выпустив модели xxxxKS.
Продолжение следует…