Еще о тестировании Cluster-mode в SPC-1
Я не первый раз рубликую тут переводы постов инженера NetApp – Dimitris Krekoukias, ведущего автономный, и крайне интересный блог http://recoverymonkey.org/ (другие мои переводы его постов вы можете найти в рубрике “переводы”)
После долгого молчания, Dimitris опубликовал пост, вызванный публикацией отличных результатов кластера FAS6240 в Data ONTAP 8.1.1 Cluster-mode в бенчмарке блочного (FC) доступа – SPC-1, о котором я уже написал в понедельник. Однако вопросу почему он так хорош, и насколько именно он хорош – посвящен сегодняшний перевод.
NetApp опубликовал великолепные результаты тестирования Cluster-Mode в бенчмарке SPC-1
Опубликовано June 20, 2012
Мы тут в NetApp были довольно сильно заняты… заняты совершенствованием единственной в отрасли масштабируемой платформы хранения с универсальным доступом к данным, даже не считая множества разных других имеющихся в ней полезных штук.
Мы недавно выпустили ONTAP 8.1, которая, в Cluster-Mode, позволяет создать 24-узловой кластер (каждый узел которого может иметь до 8TB кэша) для задач NAS, и 4-узловой кластер для блочного доступа (FC и iSCSI).
А с выпуском ONTAP 8.1.1 (выпущенного 14 июня), мы увеличили лимит узлов для блочного доступа до 6, плюс добавили ряд дополнительных оптимизаций и возможностей. Между прочим, число узлов в кластере это пока только условный лимит официальной поддержки, это не жестко заданное ограничение.
После публикации нашего рекордного результата в бенчмарке NFS, люди спрашивали, как обстоит дело с производительностью блочного ввода-вывода в ONTAP Cluster-Mode, поэтому мы провели тестирование и опубликовали результаты бенчмарка SPC-1, используя часть той же системы, что уже была протестирована на SPEC sfs2008 NFS.
Для тех кто до сих пор думает, что NetApp не подходит для блочного доступа (это типичный FUD наших конкурентов): Это, на сегодня, лучший результат SPC-1 среди всех дисковых систем хранения, из расчета на уровень latency при достигнутом уровне IOPS (то есть возможно получить даже более высокие показатели IOPS на бОльших лимитах по latency, как я покажу далее в этом посте).
Вот ссылка на результаты и еще одна ссылка, на полную версию со всей доступной информацией.
В этом блоге я уже говорил о том, что представляет собой бенчмарк SPC-1 . Вкратце: Бенчмарк SPC-1 это общепринятый в индустрии, аудируемый, бенчмарк блочного доступа к системе хранения (по Fiber Channel) который проводит стресс-тестирование дисковой подсистемы большим объемом записей, перезаписей, локальных "хотспотов" и смешанной произвольно/последовательной, чтение-после-записи, запись-после-чтения нагрузкой. Около 60% рабочей нагрузки это операции записи. Размеры используемых в бенчмарке операций ввода-вывода различны, от маленьких до больших (таким образом IOPS в бенчмарке SPC-1 не идентичны и не могут быть сравнены напрямую с классическим тестом IOPS в full random блоками 4KB).
Если сторадж успешно работает на нагрузке SPC-1,, он, обычно, также крайне производительно работает на сложной, чувствительной к показателям latency, динамично изменяющейся нагрузке типа баз данных, в особенности OLTP. Полная спецификация для смертельно любопытных может быть найдена здесь.
Трюк с бенчмарками обычно состоит в интерпретации результатов. Сама по себе величина достигнутых IOPS, хотя и полезна, но не показывает всей картины, и того, как данный результат соотносится с реальной жзнью и реальными приложениями. Мы попытаемся помочь расшифровать результаты в этом посте.
Перед тем, как мы перейдем к анализу и сравнению результатов, несколько замечаний для неверующих:
- В тестах NetApp не используется диски "с коротких ходом" (short-stroking), так часто любимые многими вендорами, проводящими тестирование, при котором используется только внешняя, наиболее быстродействующая часть диска, где сочетается максимальная линейная скорость и малый разбег механики коромысла жесткого диска, на чем можно показать наилучшие результаты. Вместо этого мы используем настройку параметров системы , чтобы использовать всю поверхность дисков, и не зависеть от того, насколько заполнены данными диски. Смотрите полный отчет здесь, страница 61. Для любителей распространять FUD: это эффективно "старит" состояние WAFL, приближая его к реальному состоянию реально эксплуатируемой системы. Мы также не используем оптимизацию размещения блоков путем их реаллокации.
- Падения производительности в ходе продолжительного тестирования не наблюдалось.
- Средняя величина latency (“All ASUs” в результатах) была плоской и оставалась ниже уровня 5ms на протяжении нескольких итераций теста, включая sustainability test в течение 10 часов (страница 28 полного отчета).
- Не использовался дополнительный кэш, кроме того, который поставляется в базовой поставке FAS6240 (Контроллеры 6240 поставляются с Flash Cache емкостью 512GB, при максимальной возможной емкости данной модели 3TB на ноду (контроллер), то есть для работы с большими нагрузками есть еще значительный запас).
- Это не "звездолет", построенный исключительно для завовевания победы и установления рекорда в бенчмарке. Мы использовали сравнительно немного дисков, в сравнении с конфигурациями других вендоров, и это не самая быстрая наша модель контроллера (еще есть 6280).
Анализ
Когда мы смотрим на результаты бенчмарка, следует сфокусироваться на следующих моментах:
- Высокий уровень установившейся производительности в IOPS (нестабильность показателей показывает на наличие проблем).
- IOPS/диск (это показатель эффективности – 500 IOPS/drive это вдвое лучше и эффективнее, чем 250 IOPS/drive, что, как следствие, означает меньше необходимых дисков в системе, снижает ее стоимость, уменьшает физический занимаемые в датацентре объем, и так далее.)
- Стабильно низкая latency (пики показывают наличие проблем).
- IOPS связан и зависит от latency (Получили ли вы высокие показатели IOPS вместе с высокой latency на максимуме? Это практически используемо?)
- Какой тип RAID использовался (RAID6? RAID10? RAID6 обеспечивает значительно лучшую защиту данных и лучшие результаты эффективности использования дискового пространства, чем зеркалирование, что ведет к снижению стоимость даже более надежного хранилища данных).
- Какие диски использовались? Хотите ли вы покупать такие диски?
- ??спользовался ли autotiering? Если нет, то почему нет? Разве он не помог бы в такой сложной ситуации?
- Какое оборудование потребовалось, чтобы получить стабильную производительность (сколько дисков и контроллеров потребовалось для построения системы? Означает ли это более сложную и дорогую систему? Как это все будет управляться?)
- Цена (некоторые вендоры указывают цену уже с учетом дисконта, в то время как другие публикуют цену в list price, так что будьте тут внимательнее).
- Цена/IOPS (наиболее полезная метрика – но следует сравнивать цену list price с list price).
SPC-1 это бенчмарк НЕ для измерения максимума потока данных; для измерения чистого GB/s смотрите другие бенчмарки. Большинство систем не дает больше 4GB/s в этом бенчмарке, так как много операций в нем рандомные (и 4GB/s это довольно много для рандомного ввода-вывода).
Сравнение систем
В этой части мы сравним дисковые системы хранения. Предсказуемо "чистые SSD" (или RAM) системы хранения имеют, конечно, очень высокие показатели производительности, и могут подойти, если ваша задача - обеспечивать работу с небольшим объемом данных очень быстро.
Но мы сосредоточимся на задачах высоконадежных систем общего применения, которые обеспечивают одновременно и высокую производительность, и низкую latency, и большую емкость, за разумную цену, а также, одновременно, большое количество функциональных фич(снэпшоты, репликация, кэширование в flash (megacaching), thin provisioning, дедупликация, компрессия, многопротокольность, включая NAS, и так далее). Опа – оказывается никто из конкурентов не может сделать сразу все что умеет делать NetApp.
Ниже приведен список систем и ссылки на их полные отчеты тестирования SPC-1, где вы сможете найти всю необходимую информацию. Все эти системы имеют высокие результаты и относительно плоскую кривую latency.
Также есть несколько других дисковых систем хранения, со значительными результатами по IOPS, но если мы посмотрим на их результаты sustained latency (“Sustainability – Average Response Time (ms) Distribution Data” в любом из полных отчетов) мы увидим, что общие показатели latency чересчур высоки и наблюдается значительная неравномерность, в особенности в начальной фазе, с пиками до 30ms (что крайне много), поэтому мы не взяли их в расчет.
Вот краткий перечень систем и их параметров, отсортированных в соответствии с latency. Кроме этого показана и их стоимость в ценах list price (это можно найти в полном отчете о тестировании) плюс стоимость операции $/IOPS, посчитанная исходя из list price (многие вендоры приводят в отчетах цену с уже введенной скидкой, чтобы цена выглядела пониже):
…но ведь тут показано, что некоторые системы быстрее NetApp… Как так?
Это зависит от того, насколько важен для вас показатель latency и его низкая величина (и от того, принимаете ли вы в расчет используемый тип RAID). Для подавляющего большинства нагрузок типа баз данных, низкая latency операций ввода-вывода гораздо предпочтительнее высоких показателей latency.
Вот как это увидеть:
- Выберите один из приведенных выше линков на полные отчеты Допустим это будет 3Par, так как он показывает одновременно и высокие показатели производительности, и высокие значения latency.
- Найдем в отчете главу под названием "Response Time – Throughput Curve". Например это страница 13 в отчете по системе 3Par.
- Проследим, как latency резко растет при повышении загрузки системы.
Например посмотрим на кривую 3Par:
Заметьте то, как latency резко растет после некоей точки.
Теперь сравним с результатом NetApp (страница 13):
Отметьте, что результат NetApp не просто имеет хорошие показатели latency, но, что еще более важно, latency остается хорошей и растет исключительно медленно по мере увеличения нагрузки на систему.
Вот почему колонка“SPC-1 IOPS around 3ms” была добавлена в таблицу. Фактически это ответ на вопрос что бы было, если бы уровень latency был в тесте одинаков для всех протестированных систем?
Когда вы примете эту позицию, вы увидите, что система 3Par фактически медленнее, чем NetApp, если сравнить их на одинаково низком желаемом уровне latency.
Вы можете взять точные показатели latency из графика на странице 13, у NetApp таблица выглядит так (озаглавлено "Response Time – Throughput Data"):
Действительно, при сравнении результатов мы видим, что только IBM SVC (с кучей стораджей V7000 за ним) оказывается быстрее NetApp при столь же хороших показателях latency. Что плавно подводит нас к следующей главе…
Сколько железа обеспечивает такую производительность?
Почти любая инженерная задача может быть решена, если дать приложению достаточное количество необходимого оборудования. Результат IBM это как раз хороший пример того, как можно получить хороший результат собрав вместе большую кучу дорогостоящего железа:
- 8 SVC контроллеров (virtualization engines) плюс…
- …16 отдельных систем V7000…
- …каждая состоящая из еще 2 контроллеров SVC и 2 контроллеров RAID
- 1920 дисков 146GB 15K RPM (не так-то просто такие купить нынче, не так ли?)
- ??того 40 контроллеров SVC (8 больших и 32 поменьше), 32 RAID-контроллера, и все это битком наполнено дисками.
Даже отставив в сторону вопрос того, как это все управляется, сколько это потребляет электричества и как размещается, понятно, что это довольно большая система. Я даже не пытался посчитать, сколько тут процессоров и ядер работают параллельно, уверен, их много.
Сравним эту кухню с вариантом конфигурации NetApp:
- 6 контроллеров в одном кластере
- 432 диска 450GB 15K RPM (самый распространенный и массовый наш диск по состоянию на июнь 2012).
Вопросы (с удовольствие увижу ответы на них от других вендоров):
- Что произойдет при использовании RAID6 у других вендоров? NetApp всегда тестирует системы с использованием своей версии RAID6 (RAID-DP). RAID6 значительно надежнее, чем зеркалирование, особенно в больших пулах (не говоря уже о более эффективном использовании пространства дисков). Большинство клиентов не хотят покупать большую систему в конфигурации только-RAID10… (пользователи - задавайте вопросы вашим вендорам. Тут нет никакого волшебства – ручаюсь, у них есть внутренние результаты для RAID6, попросите показать их вам).
- Autotiering это одна из самых раскрученных сегодня фич, с признаками того, что это достижение, превосходящее изобретение пенициллина, или даже колеса, а может даже и огня… Однако никто из дисковых массивов не рассматривает использование SSD для autotiering (IBM опубликовала однажды результат – не впечатляет, делайте выводы). Это при том, что бенчмарк, по своей спецификации активно создающий "горячие точки" (hotspots) нагрузки, должен бы быть здесь идеальным кандидатом для демонстрации эффективности…
- Почему EMC и Dell не желают публиковать результаты SPC-1? (Они оба, кстати, члены SPC, Storage Performance Council). Только два этих вендора, из крупных игроков на рынке, кто еще не опубликовали свои результаты. EMC ранее говорила, что SPC-1 это нереалистичный тест – ну, типа только ваше приложение с вашими данными на вашем сторадже может показать по-настоящему реальные результаты. Это так, однако SPC-1 это общепринятый индустрией стандартный бенчмарк для блочного доступа произвольного характера, и отличная "лакмусовая бумажка".
- Для системы, которая регулярно позиционируется для нагрузки Tier-1, IBM XIV, результаты бенчмарков, увы, отсутствуют также, даже для самой новой ее Gen3. Неужели IBM стесняется показать свои результаты SPC-1 для этой системы?
- Наконец – некоторые наши конкуренты продолжают утверждать, что NetApp, дескать, это "не настоящий SAN", что это, якобы "эмуляция SAN", и так далее. Что бы это все ни значило на самом деле – может быть подход NetApp, с такой "эмуляцией" оказывается, по факту, лучше?… Максимальная write latency в этом тесте составила 1.91ms для в основном записываемой нагрузки!
??тоговые мысли
В накануне опубликованном результате бенчмарка SPC-1, NetApp показала вновь, что Data ONTAP в Cluster-Mode это высокопроизводительная и масштабируемая система, одинаково подходящая как для SAN, так и для NAS задач. Суммируя все вышесказанное, можно сказать, что ONTAP Cluster-Mode:
- Позволяет строить высокопроизводительные и динамически-масштабируемые кластеры хранения для FC, iSCSI, NFS и CIFS.
- Демонстрирует низкую latency при высокой производительности.
- Предлагает исключительно хорошее соотношение price/performance.
- Позволяет доступ к данным одной ноды с любых других нод.
- Перемещает данные между нодами, не прерывая работы с ними (включая CIFS, что ранее не было практически невозможно).
- Поддерживает традиционные для NetApp возможности (оптимизацию процессов записи, взаимодействие с приложениями, снэпшоты, дедупликацию, компрессию, репликацию, thin provisioning, и кэширование во flash (megacaching).
- Может работать на в точности тех же самых контроллерах FAS, что и в 7-mode, что защищает инвестиции.
- Может виртуализовывать системы хранения, расположенные за ними.
??сточник <http://recoverymonkey.org/2012/06/20/netapp-posts-great-cluster-mode-spc-1-result/>
> •1920 дисков 146GB 15K RPM (не так-то просто такие купить нынче, не так ли?)
это 15k SFF диски с самой высокой производительностью среди hdd, процентов на 20 быстрее 450GB 15K RPM LFF
Вот только NetApp использовал на своей СХД примерно 40-50% дискового пространства, то есть наиболее оптимальное с точки зрения задачи показать low latency, а 3PAR 80%. Графики просто уверенно подтверждают зависимость latency от степени утилизации дискового пространства.
Border:
Не, не совсем так.
У NetApp есть опубликованные тесты с 70-процентной загрузкой, и они все равно лучше по latency. ?? это при том, что 3270 это совсем иного класса система, midrange, и упомянутый 3Par дороже ее раз в 10, и во столько же раз большем числе дисков, а по IOPS быстрее всего раза в 6. ;)
Также не стоит забывать, что, в отличие от “других вендоров”, которые тестируют на RAID-10, то есть, фактически, работают с двумя синхронными копиями данных (сечас все контроллеры RAID-10 умеют для ускорения работы читать и писать на обе половины зеркала данных по-очереди), то есть фактическая величина объема данных на дисках 3Par будет 40,23% (стр.12 full report), против 36,98% у FAS6240 (и 60,51% у FAS3270).
Еще вот тут в комментариях понятно объясняется: http://recoverymonkey.org/2012/06/20/netapp-posts-great-cluster-mode-spc-1-result/#comment-683
ROMX, вы путаете used storage capacity (величина полезного объема данных) и disk utilization (объем данных, записанных на диск). Да, used storage capacity в тесте у 3PAR 40,23%. А вот disk utilization 87% (легко считается на 22 странице full report). Так как RAID-10.
У NetApp в тесте used storage capacity 36,98%, а disk utilization 37% (страница 12 full report).
После заполнения дисков на 70 и более процентов latency начинает расти катастрофически, так же катастрофически влияя на IOPS. ?? в этих экстремальных условиях 3PAR показывает 230 IOPS на диск при вполне достойной latency. А NetApp делает тест на low latency объеме диска (при заполнении диска до 40% latency практически не растет) и говорит: смотрите, какая крутая у нас система по сравнению с 3PAR.
Я сейчас не говорю, что система FAS6240 плохая, я говорю про то, что раз уж сравниваете две системы и утверждаете, что одна из них лучше, то и сравнивайте их работу в одинаковых условиях. 60% утилизации тоже не показатель. Я думаю вы легко сможете найти графики зависимости latency и disk utilization.
Так что Dimitris прав, надо внимательно читать отчеты и анализировать, что за ними скрывается.
Ярослав:
> ROMX, вы путаете used storage capacity (величина полезного объема данных) и disk utilization (объем данных, записанных на диск)
Нет, не путаю.
> У NetApp в тесте used storage capacity 36,98%, а disk utilization 37% (страница 12 full report).
А в другом тесте есть и 84% заполнение, причем на 70% это фактические данные, а не “данные и их еще одна копия”, и все рвно показатели по latency очень хорошие, лучше многих.
> После заполнения дисков на 70 и более процентов latency начинает расти катастрофически
Это ложь, про “катастрофически”. Но влияние конечно есть, оно у всех есть, у любой системы хранения, любого вендора, это законы физики. Как нам показывает незавидный результат 3Par. :-}
> А NetApp делает тест на low latency объеме диска
А теперь помотрите ранее опубликованный результат для FAS3270A
> я говорю про то, что раз уж сравниваете две системы и утверждаете, что одна из них лучше, то и сравнивайте их работу в одинаковых условиях.
Выше я уже привел фрагмент обсуждения про это в комментариях к оригинальному посту. Сходите, почитайте.
Требование “всем делать также криво, как сделали мы, потому что у нас же криво!” довольно нелепо, на мой вгзляд.
Я правильно понял, что нагрузка исходит из группы хостов, которые воспринимают Cluster как Одна схд?
Распределением нагрузки группы хостов по контроллером кластера занимается ОС кластера?
Да, где-то так. Подробное описание того, как был организован доступ есть в документе Full disclosure.