Серверные SSD. Сад расходящихся тропок

30 июль, 2015 - 18:00Игорь Дражан

При растущем многообразии SSD под корпоративные приложения, простое их ранжирование по цене/объему не дает содержательной информации пользователю. Хочешь производительности и оправданных затрат — докапывайся до сути рабочих нагрузок.

При HDD жилось просто. Чтобы определиться с начинкой сервера, хватало двух параметров: объема дисков и скорости вращения шпинделя. Выбор производителя HDD был уже вкусовщиной. При SSD все поменялось. Важно все: кто сделал накопитель, на каком типе памяти, в какой формат упаковал (SATA/SAS SSD — PCIe SSD — NVMe SSD), какой поставил в него контроллер, какие заложил прошивки, какими средствами защитил данные, чем обеспечил стабильность характеристик и запас ресурса — голова идет кругом.

Серверные SSD. Сад расходящихся тропок

Взять Intel. Подчиняясь внутреннему «тик-таку», компания каждые два года усложняет матрицу серверных SSD. Может, ее маркетологам видятся новые ниши, а может, конкуренты заставляют дробить старые в угоду ценовым ожиданиям рынка. Приходится приспосабливаться к многоликости продуктов. Еще недавно под обслуживание корпоративных приложений Intel хватало двух семейств SATA SSD: DC S3500 и DC S3700 (DC — это Data Center, указание на целевой сегмент рынка накопителей SSD. C этого года Intel предлагает уже три семейства DC: S3510 / S3610 / S3710.

Не секрет, что в S3500 / S3700 использовался один контроллер (В новых S3510 / S3610 / S3710 контроллер тоже одинаков). Различие между семействами — в типе памяти (обычная MLC в S3500 и S3510, отборная HET MLC в S3700 / S3610 / S3710), прошивках и запасе резервных ячеек — он сильно влияет на критичные для SSD параметры: продуктивность записи с произвольным доступом (Random Write 4K IOPS) и износостойкость, предел суточной или общей перезаписи (Endurance). Заявленный ресурс S3500 был довольно скромен. Но и цена привлекательна. Из-за нее семейство всегда воспринималось как ценовая атака Intel на сегмент начальных серверов. Сменившее его S3510 почти в точности унаследовало все базовые показатели S3500. Цена осталась на прежнем уровне.

Серверные SSD. Сад расходящихся тропок

Источник: ark.intel.com

Другое дело S3700. Эти SSD с высокими показателями производительности и выдающимися ресурсными характеристиками заслуженно получили широкое хождение. Их много в канале продаж Intel локальным производителям серверов и в составе серверов A-brand. В то же время, относительная дороговизна S3700 давала конкурентам простор для маневра. Они им воспользовались и, без сомнения, повлияли на дальнейшую стратегию Intel.

У S3700 появилось два наследника по прямой: семейства S3610 и S3710. Диски S3610 в два с лишним раза дешевле, чем S3700, при одинаковом с ними объеме. S3710 дешевле процентов на 20. Если замещение S3500 почти идентичным ему S3510 никого не заинтриговало, то расщепление наследия S3700, напротив, породило любопытство. Попробуем тестами прощупать мотивы и намерения Intel, помимо предположения о «равномерном» заполнении продуктовых ниш в условиях конкуренции.

Постановка тестов

Мы взяли по одному диску одинаковой емкости 200GB из каждого семейства S3700 / S3610 / S3710. Их паспортные характеристики приведены в таблице.

Серверные SSD. Сад расходящихся тропок

Источник: ark.intel.com

Собрали стендовый сервер:

Серверные SSD. Сад расходящихся тропок

Все три диска подключили к портам контроллера LSI SAS HBA 9300-8i и поочередно прогнали тесты. Для создания нагрузки и измерения производительности использовались тестовые утилиты IOmeter v. 2008.06.18-RC2. Для дополнительной оценки поведения в линейных операциях чтения/записи воспользовались тестом ATTO Disk benchmark, которым обычно тестируют диски под видеоприложения.

С помощью IOmeter производительность оценивалась в трех типах тестов:

  • «База данных» (с типичным отношением операций чтения/записи 67R/33W), в диапазоне блоков 4К — 64К при длине очереди запросов Q=1... 64.

  • «Случайное чтение и запись» (от 100R/0W до 0R/100W, c промежуточными пропорциями чтения/записи), при блоках 4К — 64К и при длине очереди Q=1...64.

  • «Последовательное чтение и запись» блоков 64К — 16МБ при длине очереди Q=1...4 (100R и 100W).

Размер тестового файла 30GB составлял примерно половину RAM (64GB). При конфигурации тестов IOmeter блоки выравнивались до 4К для получения максимальной производительности SSD.

Перейдем к результатам.

«База данных» — IOmeter

Сводный график производительности всех трех SSD для часто встречающихся размеров блоков 4К — 8K — 64K нам нужен для качественной оценки поведения семейств под смешанной нагрузкой.

Серверные SSD. Сад расходящихся тропок

У SSD с интерфейсом SATA и встроенной очередью команд NCQ, «насыщение» производительности происходит при максимальной глубине очереди Q=32:

Серверные SSD. Сад расходящихся тропок

При работе с короткими блоками различия в производительности S3700-S3610-S3610 в абсолютных значениях существенны, иногда превышая 10 %. При блоке 64К показатели всех 3-х дисков практически выравниваются.

В реальной жизни в дисковых подсистемах на SSD большие очереди встречаются относительно редко, это ярко выраженные пики нагрузок. Ввиду своей низкой латентности и высокого быстродействия, обычно SSD работают с небольшими очередями в 1-4 запроса.

Посмотрим на показатели SSD при длине очереди Q = 2 и Q =4, при двух типичных для баз данных размерах блока данных — 8К и 64К.

Серверные SSD. Сад расходящихся тропок

«Мощный старик» S3700 примерно на 12% производительнее S3710. Тот, в свою очередь, обгоняет S3610 на 7%. Существенно ли повышение производительности на 12% для пользователя — зависит от его нагрузок. Кому-то безразличен прирост на 1000 IOPs при блоках 4К, а кому критична прибавка 300 IOPS на блоках 64К.

Интересны графики попарного соотношения производительности семейств во всем диапазоне размеров блок и длины очереди команд.

Серверные SSD. Сад расходящихся тропок

Ветеран S3700 не просто бьет старшего наследника S3710 почти во всех комбинациях, но делает это уверенно, иногда с запасом в 15-20%.

Серверные SSD. Сад расходящихся тропок

Более дорогой из новичков S3710 предсказуемо превосходит S3610 на 3-13% во всем диапазоне измерений.

«Случайное чтение (100%) и запись (100%)» — Iometer

Пограничные случаи чистого чтения или чистой записи интересны прежде всего для сверки с заявленными производителем показателями.

Серверные SSD. Сад расходящихся тропок

После построения графика создалось впечатление, что несколько кривых потеряно, но это «оптический обман». Просто кривые S3710 (блок 4К) и S3610 (блок 4К) наслоились друг на друга, такая же ситуация и с кривыми S3710 (блок 8К) и S3610 (блок 8К). Значит, производительность SSD S3710 и S3610 в этом тесте одинаковая.

По-иному обстоят дела с записью. Лидером на коротких блоках является S3710. С увеличением размера блока отличие в производительности SSD исчезает.

Серверные SSD. Сад расходящихся тропок

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

«Случайное чтение и запись», в переменной пропорции — IOmeter

Очень наглядный тест. Фиксируется размер блока данных и длина очереди команд. Замеряется производительность при разных пропорциях операций чтения/записи. Получаемые кривые показательны: видно, при каком профиле нагрузки проявляются сильные и слабые стороны накопителя. Усматривая здесь «невидимую руку», можно предполагать намерения производителя по целевым приложениям SSD.

Тестировали при двух размерах блока данных, 4К и 64К.

Серверные SSD. Сад расходящихся тропок

S3700 показывает лучшие результаты и на самом «неприятном» для SSD профиле 50/50 (поровну операций чтения и записи), и вблизи профиля 70/30 (70% чтения/30% записи), характерного для работы баз данных. Особенно хорошо это видно на графике латентности.

Серверные SSD. Сад расходящихся тропок

SSD при краевых нагрузках имеют фактически одинаковую латентность, при нагрузке 50/50 отличие становится существенным. Исходя из результатов тестов, применение S3700 на профилях нагрузки от 80/20 (файловые сервера) до 70/30 (базы данных) обеспечит лучшую производительность.

Для блока 64К ситуация похожая, за исключением того, что даже при большой доле записи в запросах ввода/вывода превосходство S3700 сохраняется.

Серверные SSD. Сад расходящихся тропок

Серверные SSD. Сад расходящихся тропок

Посмотрим на соотношение производительности семейств при длине очереди Q =2, 4 и 8. Сперва сравним показатели S3710 и S3700 в IOPS по всему диапазону пропорций чтения/записи (размер блоков 4 К и 64К).

Серверные SSD. Сад расходящихся тропок

Серверные SSD. Сад расходящихся тропок

При работе с короткими блоками 4К при нагрузке 50/50 S3710 проигрывает по быстродействию 12-18%. На блоке 64К разница в производительности будет зависеть от длины очереди (например, при Q=2 S3710 может потерять до 20% производительности, но уже при Q = 8 и нагрузке 90/10 его превосходство может составить почти 8%).

Сравним между собой S3710 и S3610.

Серверные SSD. Сад расходящихся тропок

Серверные SSD. Сад расходящихся тропок

При коротких блоках S3710 работает быстрее в среднем на 7-10%, при размере блока 64К превышение производительности может достигать 25%.

«Последовательное чтение и запись» — IOmeter

Для сравнения выбраны три размера блока 64KB, 512KB и 8MB (64KB — пограничный размер между случайными и последовательными операциями ввода/вывода, 512KB — начальный размер блока при работе с видео форматами, 8MB — стандартный размер блока при копировании больших файлов). График с абсолютными значениями приводить не будем, более наглядны показатели теста ATTO Disk Benchmark ниже. Посмотрим на соотношение производительности в процентном соотношении.

Длина очереди варьируется от 1 до 4 (Q=1 — однопотоковая нагрузка, Q=2...4 — многопотоковая нагрузка).

Начинаем с пары S3710 — S3700.

Серверные SSD. Сад расходящихся тропок

При последовательном чтении производительность S3710 примерно на 10% выше, чем у S3700, зато при последовательной записи уже S3710 уступает S3700 от 15 до 30%. Ветеран продолжает приятно удивлять.

Следующая пара S3710 — S3610.

Серверные SSD. Сад расходящихся тропок

При последовательном чтении преимущество S3710 незначительное, несколько процентов (за исключением ситуации блок 512K/Q=1 — где преимущество составляет 10%). При увеличении размера блока до 8МB показатели производительности чтения этой пары SSD выравниваются. При записи разница довольно существенная — 20-25%.

Тест ATTO Disk Benchmark

Бесплатная утилита ATTO Disk Benchmark используется для оценки производительности хранилища данных при последовательных операциях ввода / вывода.

Имитируем режим многопоточности (Q=2, два потока), с блоком 8МB (основной размер блока при копировании файлов). Выбираем максимальный размер файла 2GB.

Серверные SSD. Сад расходящихся тропок

S3700

Серверные SSD. Сад расходящихся тропок

S3610

 

Серверные SSD. Сад расходящихся тропок

S3710

После увеличения размера блока начиная с 64К скорость записи (последовательная операция) для S3610 и S3710 не меняется, а для S3700 «насыщение» записи происходит на блоке 512К (минимальный размер блока в диапазоне видео форматов).

Разумных оснований для использования семейств 3610-3710 в видеопроизводстве нет — с их высокой удельной ценой хранения. Потому практическая ценность линейных тестов невелика.

Послевкусие

Всегда хочется понять логику нарезки большого сегмента рынка (в данном случае, серверных SSD) на уровни. В случае с Intel изучать слоеную матрицу продуктов тем интереснее, что она обширна и хорошо структурирована, сами SSD доступны по цене и в большой степени задают тон на массовом серверном рынке.

Зачем Intel понадобились три слоя семейств (S3510-S3610-S3710) там, где раньше хватало двух (S3500-S3700)? Простое тому объяснение состоит в том, что SSD активно замещают HDD, заходят на новые роли в корпоративных приложениях и дифференцированный подход к их проектированию — простое следствие механического роста рынка.

Сравнительный анализ поведения SSD разных поколений показывает, что не все так прямолинейно. При детальном копании под переменными профилями нагрузок проявляются явные сдвиги в приоритетах производителя. Все хотят быть «рыночными», и Intel тоже. Только для аутсайдеров «быть рыночными» обычно означает низкую цену продукта. Лидеры корректируют продукты сообразно меняющимся требованиям задач, под которые они производятся.

S3510 мы посчитали прямой заменой S3500 в нижнем сегменте — где невелики и нагрузки, и требования к производительности. Заморачиваться поиском оттенков серого не стали. Ограничились сравнением флагманского S3700 cо сменщиками S3610 и S3710 и обоих новичков между собой.

Удивило давно выпускаемое семейство S3700. В целом ряде задач на синтетических тестах ветеран превосходит позиционируемого ему на замену S3710. Для дотошных пользователей это сигнал не спешить списывать S3700 со счетов.

S3610 и S3710 в задачах чтения показывают практически равную производительность, в задачах записи старшая модель S3710 имеет явное превосходство, вплоть до 20-25%. Различная у них и расчетная износостойкость: S3710, как и S3700, рассчитан на перезапись до 10 своих объемов ежедневно в течении гарантийного срока, S3610 — на перезапись до 3-х своих объемов ежедневно.

Понятны оптимальные области применения каждого: если приложения интенсивно обновляют данные на дисках и крайне критичны к быстродействию записи — выбираем серию S3700-S3710. Если требования более скромные (ресурса трехкратной перезаписи в сутки достаточно и снижение потолка производительности записи на 10% не смущает) — можно ставить S3610.

S3610 и S3710 имеют привлекательное соотношение производительность/стоимость. Парировать высокие нагрузки приложений стало дешевле — цена S3710 на 20% ниже S3700. В целом, все три новых серверных семейства Intel SSD S3510 / S3610 / S3710 так кучно заполняют сегмент серверных SATA SSD, что не составляет труда подобрать подходящее решение в нужном бюджете. Но может случиться и так, что спрос поляризуется: на дешевое/объемное и дорогое/производительное. Не так велик разлет показателей этих SSD, чтобы выуживать преимущества кончиками пальцев. Грубой силой (ценой за гигабайт) народу как-то привычнее.