Pull to refresh
0
INLINE Technologies
Универсальный ИТ-интегратор

Тестирование флеш СХД. Huawei Dorado 2100 G2

Reading time12 min
Views8.9K
Наша серия статей посвященная тестированию различных флеш систем хранения данных была бы не полной без продукта компании Huawei. Признаюсь честно, Dorado уже бывал в нашей лаборатории ранее, практически сразу после того, как стал доступен в России. В этот раз, следуя «пожеланиям трудящихся» мы собрали более чем достаточный объем данных и рады представить их вашему вниманию.

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


В ходе тестирования решались следующие задачи:
  • исследования процесса деградации производительности СХД при длительной нагрузке на запись (Write Cliff);
  • исследование производительности СХД Huawei Dorado G2 при различных профилях нагрузки в различных конфигурациях (R5 и R0);

Конфигурация тестового стенда

Рисунок 1. Структурная схема тестового стенда.
Тестовый стенд состоит из сервера IBM x3750 M4 подключенного напрямую к СХД Huawei Dorado 2100 G2 через 4 канала FC по 8Gb. СХД Huawei OceanStore Dorado 2100 G2

В качестве дополнительного программного обеспечения на тестовый сервер установлен Symantec Storage Foundation 6.2, реализующий:
  • Функционал логического менеджера томов (Veritas Volume Manager);
  • Функционал отказоустойчивого подключения к дисковым массивам (Dynamic Multi Pathing).

Посмотреть утомительные подробности и всякие умные слова.
На тестовых серверах выполняются следующие настройки, направленные на снижение латентности дискового ввода-вывода:
  • Изменен планировщик ввода-вывода с «cfq» на «noop» через присвоение значения noop параметру scheduler тома Symantec VxVolume
  • Добавлен параметр в /etc/sysctl.conf минимизирующий размер очереди на уровне логического менеджера томов Symantec: «vxvm.vxio.vol_use_rq = 0»;
  • увеличен предел одновременных запросов ввода-вывода на устройство до 1024, через присвоение значения 1024 параметру nr_requests тома Symantec VxVolume
  • отключена проверка возможности слияния операций в/в (iomerge), через присвоение значения 1 параметру nomerges тома Symantec VxVolume
  • Увеличен размер очереди на FC адаптерах, путем добавления в конфигурационный файл /etc/modprobe.d/modprobe.conf опции ql2xmaxqdepth=64 (options qla2xxx ql2xmaxqdepth=64);

В ходе тестов производятся различные настройки на СХД:
  • реализуется конфигурация SSD дисков RAID5 (для тестов СХД в R5) или RAID0 (для тестов СХД в конфигурации R0).
  • создаются 8 LUN одинакового размера с суммарным объемом, покрывающим всю полезную емкость СХД (для тестов на полностью размеченной СХД) или 70% объёма (для тестов на не полностью размеченном СХД). Размер блока LUN — 512byte. Луны создаются таким образом, чтобы для половины из них (четырех LUN) владельцем был один контроллер СХД (A), а для другой половины — другой контроллер (B). Созданные LUN презентуются тестовому серверу.
  • различные группы тестов могут проводиться со включенным на всех LUN кэшем на запись (Write Back) или отключенным (Write Through). Значение конфигурационного параметра приведено в описании тестов в программе тестирования (1.5).

Программное обеспечение, используемое в процессе тестирования


Для создания синтетической нагрузки (выполнения синтетических тестов) на СХД используется утилита Flexible IO Tester (fio) версии 2.1.10. При всех синтетических тестах используются следующие конфигурационные параметры fio секции [global]:
  • thread=0
  • direct=1
  • group_reporting=1
  • norandommap=1
  • time_based=1
  • randrepeat=0
  • ramp_time=3

Для снятия показателей производительности при синтетической нагрузке применяются следующие утилиты:
  • iostat, входящая в состав пакета sysstat версии 9.0.4 с ключами txk;
  • vxstat, входящая в состав Symantec Storage Foundation 6.2 c ключами svd;
  • vxdmpadm, входящая в состав Symantec Storage Foundation 6.2 c ключами -q iostat;
  • fio версии 2.1.10, для формирования сводного отчета по каждому профилю нагрузки.

Снятие показателей производительности во время выполнения теста утилитами iostat, vxstat, vxdmpstat производится с интервалом 5с.

Программа тестирования.


Тесты выполняются посредством создания синтетической нагрузки программой fio на блоковое устройство (block device), представляющее собой логический том типа «stripe, 8 column, stripe unit size=1MiB», созданный с использованием Veritas Volume Manager из 8 LUN, презентованных с тестируемой системы.

Поинтересоваться подробностями
Группа 1: Тесты, реализующие длительную нагрузку на запись и длительную смешанную нагрузку с изменением размера блока операций ввода/вывода (в/в)

При создании тестовой нагрузки используются следующие параметры программы fio (в дополнение к определенным в разделе 1.4):
  • rw=randwrite
  • blocksize=[4К 8К 16К 32К 64К 1М] (исследуются поведение СХД под нагрузкой различным размером блока операций ввода-вывода)
  • numjobs=64
  • iodepth=64

Группа тестов состоит из тестов, отличающихся суммарным объемом LUN презентуемых с тестируемой СХД, конфигурацией RAID, использованием кэша на запись и направлением нагрузки:
  • Тесты на запись, выполняемые на полностью размеченной СХД в конфигурации R5 с изменяющимся размером блока (4,8,16,32,64,1024K). Для каждого LUN кэш на запись отключен. Длительность каждого теста 40 минут, промежуток между тестами 1 час.
  • То-же, с включенным кэш на запись.
  • Тесты на запись, выполняемые на не полностью размеченной СХД (суммарный объём LUN — 70% полезного объема) в конфигурации R5 с изменяющимся размером блока (4,8,16,32,64,1024K). Для каждого LUN кэш на запись отключен.
  • Тесты с длительной смешанной нагрузкой (50% запись, 50% чтение), выполняемые на полностью размеченной СХД в конфигурации R5 с изменяющимся размером блока (4,8,16,32,64,1024K). Для каждого LUN кэш на запись отключен. Длительность каждого теста 20 минут, промежуток между тестами 40 минут.
  • Тесты с длительной смешанной нагрузкой (70% запись, 30% чтение), выполняемые на полностью размеченной СХД в конфигурации R5 с изменяющимся размером блока (4,8,16,32,64,1024K). Для каждого LUN кэш на запись отключен. Длительность каждого теста 20 минут, промежуток между тестами 40 минут.
  • Тесты на запись, выполняемые на полностью размеченной СХД в конфигурации R0 с изменяющимся размером блока (4,8,16,32,64,1024K). Для каждого LUN кэш на запись отключен. Длительность каждого теста 40 минут, промежуток между тестами 1 час.

Если для теста требуется изменение конфигурации RAID СХД, то после изменения уровня RAID, создания LUN на СХД и тома на сервере, производится заполнение тома утилитой fio 2.1.10 методом случайной записи блоком 16К на том, записываемый объем данных в 2 раза превышает объем тома.
По результатам тестов на основании данных выводимых командой vxstat формируются графики, совмещающие результаты тестов:
  • IOPS, как функция времени;
  • Пропускная способность (Bandwidth), как функция времени.

Проводится анализ полученной информации и делаются выводы о:
  • наличие деградации производительности при длительной нагрузке на запись и при длительной смешанной нагрузке;
  • производительности сервисных процессов СХД (garbage collection), ограничивающих производительность дискового массива на запись при длительной пиковой нагрузке в различных конфигурациях СХД (R5 и R0);
  • влиянии кэша на запись на производительность сервисных процессов СХД (garbage collection);
  • степени влияния размера блока операций ввода-вывода на производительность сервисных процессов СХД;
  • объеме пространства, резервируемом на СХД для нивелирования сервисных процессов СХД;
  • влиянии заполненности СХД на производительность сервисных процессов;
  • влиянии процессов сервисных процессов СХД (garbage collection) на производительность операций чтения.

Группа 2: Тесты производительности дискового массива при разных типах нагрузки, исполняемые на уровне блокового устройства, при конфигурации СХД R5.

В ходе тестирования исследуются следующие типы нагрузок:
  • профили нагрузки (изменяемые параметры ПО fio: randomrw, rwmixedread):
  1. случайная запись 100%;
  2. случайная запись 30%, случайное чтение 70%;
  3. случайное чтение 100%.
  • размеры блока: 1КБ, 8КБ, 16КБ, 32КБ, 64КБ, 1МБ (изменяемый параметр ПО fio: blocksize);
  • способы обработки операций ввода-вывода: синхронный, асинхронный (изменяемый параметр ПО fio: ioengine);
  • количество процессов, генерирующих нагрузку: 1, 2, 4, 8, 16, 32, 64, 128, 256 (изменяемый параметр ПО fio: numjobs);
  • глубина очереди (для асинхронных операций ввода-вывода): 32, 64 (изменяемый параметр ПО fio: iodepth).

Группа тестов состоит из набора тестов, представляющего собой все возможные комбинации перечисленных выше типов нагрузки. Длительность каждого теста — 1 минута. Для нивелирования влияния сервисных процессов СХД (garbage collection) на результаты тестов, между тестами реализуется пауза равная объему записанной в ходе теста информации, разделенному на производительность сервисных процессов СХД (определяется по результатам выполнения 1-ой группы тестов).

Все вышеперечисленные тесты выполняются вначале при выключенном кэше на запись для всех LUN, презентованных с СХД.

По результатам тестов на основании данных, выводимых ПО fio по завершению каждого из тестов, формируются графики для каждой комбинации типов нагрузки (профиля нагрузки, способа обработки операций ввода-вывода, глубины очереди, совмещающие в себе тесты с разными значениями блока ввода-вывода):
  • IOPS как функция от количества процессов, генерирующих нагрузку;
  • Bandwidth как функция от количества процессов, генерирующих нагрузку;
  • Latеncy (clat) как функция от количества процессов, генерирующих нагрузку;

Проводится анализ полученных результатов, делаются выводы о нагрузочных характеристиках дискового массива при latency меньше или около 1ms, о максимальных показателях производительности массива и о производительности массива при однопоточной нагрузке, а также о влиянии кэша на производительность СХД.

Группа 3: Тесты производительности дискового массива при разных типах нагрузки, исполняемые на уровне блокового устройства, при конфигурации СХД R0.

Тесты проводятся аналогично тестам группы 2. Тестируется конфигурация СХД R0. По результатам тестов на основании данных, выводимых ПО fio по завершению каждого из тестов, формируются графики для каждой комбинации типов нагрузки (профиля нагрузки, способа обработки операций ввода-вывода, глубины очереди, совмещающие в себе тесты с разными значениями блока ввода-вывода):
  • IOPS как функция от количества процессов, генерирующих нагрузку;
  • Bandwidth как функция от количества процессов, генерирующих нагрузку;
  • Latеncy (clat) как функция от количества процессов, генерирующих нагрузку;

Проводится анализ полученных результатов, делаются выводы о нагрузочных характеристиках дискового массива в R0 при latency меньше или около 1ms, максимальных показателях производительности массива в R0 и производительности массива при однопоточной нагрузке.

Результаты тестирования


Группа 1: Тесты, реализующие длительную нагрузку на запись и длительную смешанную нагрузку с изменением размера блока операций ввода/вывода (в/в).

Графики. (Все картинки кликабельны)

График 1
Падение производительности при длительной пиковой нагрузке типа случайная запись на полностью размеченной СХД(R5) при выключенном кэше на запись.

График 2
Падение производительности при длительной пиковой нагрузке типа случайная запись на полностью размеченной СХД(R5) при включенном кэше на запись.

График 3
Падение производительности при длительной пиковой нагрузке типа случайная запись на не полностью размеченной СХД(R5) (70% объема) при выключенном кэше на запись.

График 4
Падение производительности операций записи при длительной пиковой смешанной нагрузке (50% запись, 50% чтение) на полностью размеченной СХД(R5) при выключенном кэше на запись.

График 5
Падение производительности операций чтения при длительной пиковой смешанной нагрузке (50% запись, 50% чтение) на полностью размеченной СХД(R5) при выключенном кэше на запись.

График 6
Падение производительности операций записи при длительной пиковой смешанной нагрузке (70% запись, 30% чтение) на полностью размеченной СХД(R5) при выключенном кэше на запись.

График 7
Падение производительности операций чтения при длительной пиковой смешанной нагрузке (70% запись, 30% чтение) на полностью размеченной СХД(R5) при выключенном кэше на запись.

График 8
Падение производительности при длительной пиковой нагрузке типа случайная запись на полностью размеченной СХД(R0) в конфигурации RAID 0 при выключенном кэше на запись.


Таблицы 1-2. (Все картинки кликабельны)
Таблица 1. Зависимость показателей производительности СХД от размера блока при длительной нагрузке на запись в конфигурации СХД — RAID 5.

Таблица 2. Зависимость показателей производительности СХД от размера блока при длительной нагрузке на запись в конфигурации СХД — RAID 0.

Основные выводы:

1. При заполнении массива данными замечено, что форматирование (инициализация RAID) происходит только при записи данных. Соответственно, первая запись происходит медленно.

2. При длительной нагрузке на запись в определенный момент времени фиксируется значительная деградация производительности СХД. Падение производительности ожидаемо и является особенностью работы SSD (write cliff), связанной с включением процессов garbage collection (GC) и ограниченной производительностью обозначенных процессов. Производительность дискового массива, фиксируемую после эффекта write cliff (после падения производительности), можно рассматривать как максимальную среднюю производительность дискового массива. Падение производительности наступает уже через 2-3 минуты пиковой нагрузки на запись, что является не очень хорошим показателем в сравнении с дисковыми массивами других производителей и свидетельствует о незначительности резерва дискового пространства для демпфирования пиковых нагрузок на запись.

3. Размер блока операций ввода-вывода влияет на производительность процесса garbage collection (GC).

В конфигурации RAID 5:
  • Для маленьких блоков (4К) производительность GC — 180Мбайт/с (45000 IOPS);
  • Для средних блоков (8-64К) производительность GC — 350Мбайт/с;
  • Для больших блоков (1М) производительность GC — 800Мбайт/с.

В конфигурации RAID 0:
  • Для маленьких блоков (4К) производительность GC — 575Мбайт/с (143750 IOPS);
  • Для средних и больших блоков (8-64К) производительность GC — 1200Мбайт/с.

4. Кэш контроллеров не влияет на поведение СХД при длительной пиковой нагрузке на запись. Момент падения производительности (Write Cliff) наступает в одно и то же время независимо от использования кэша массива на запись (График 2). Производительность СХД после падения производительности так же не зависит от использования кэша.

5. Заполненность СХД не влияет на работу процессов GC (График 3).

6. В условиях профиля нагрузки на СХД с частой интенсивной записью длительностью 2-3 и более минут для работы наиболее эффективен блок размером 8К.

7. Из результатов тестов с длительной смешанной нагрузкой видно, что при падении производительности операций записи пропорционально падает и производительность операций чтения. Вызвано это, вероятнее всего тем, что процессы fio генерировали нагрузку именно в указанных пропорциях (70/30 или 50/50), то есть на практике подобное поведение дискового массива можно ожидать при наличии зависимости между процессами записи и чтения.

8. Тесты с длительной смешанной нагрузкой показали, что производительность операций записи на смешанной нагрузке такая же, как и при чистой нагрузке на запись. Можно сделать вывод, что операции чтения не влияют на производительность garbage collection.

9. Производительность операций записи (как до падения производительности, так и после), существенно выше в конфигурации СХД — RAID0.

Группа 2: Тесты производительности дискового массива при разных типах нагрузки, исполняемые на уровне блокового устройства, при конфигурации СХД R5.

Графики. (Все картинки кликабельны)
Синхронным способом в/в Асинхронным способом в/в с глубиной очереди 32 Асинхронным способом в/в с глубиной очереди 64
При случайном чтении


При случайной записи


При смешанной нагрузке (70% чтение, 30% запись)




Таблицы 3-5. (Все картинки кликабельны)
Таблица 3. Производительность СХД в конфигурации RAID 5 при одном процессе, генерирующем нагрузку (jobs=1)

Таблица 4. Максимальная производительность СХД в конфигурации RAID 5 при задержках меньше 1мс

Таблица 5. Максимальная производительность СХД в конфигурации RAID 5 при различном профиле нагрузки.

Основные выводы:

1. Максимально зафиксированные параметры производительности для СХД в конфигурации RAID 5 (из средних за время выполнения каждого теста — 1 мин):

Запись:
  • 110 000 IOPS при latency 4,7ms (блок 4KB async qd32,64);
  • при синхронном вводе-выводе — 88 000 IOPS при latency 2,5 ms (блоки 4К и 8К);
  • Bandwidth: 2130МБ/c для больших блоков (1МБ), около 1000Мб/с для средних блоков (16-64К).

Чтение:
  • 140 000 IOPS при latency 1,8ms (блоки 4 и 8K async qd64);
  • при синхронном вводе-выводе — 91 000 IOPS при latency 0,7ms (блок 4К);
  • Bandwidth: 3160МБ/с для больших блоков.*

Смешанная нагрузка (70/30 rw):
  • 132 000 IOPS при latency 1,9ms (блоки 4 и 8К async qd64);
  • при синхронном вводе-выводе- 87 000 IOPS при latency 1,4ms (блоки 4, 8, 16К);
  • Bandwidth 4100МБ/с для больших блоков (1Мбайт) и около 3000Мбайт/с для блоков 64, 32К.*

* Учитывая тот факт, что дисковый массив подключен к тестовому серверу посредством 4-х 8Gb/s полученные значения с большой вероятностью не являются предельными для дискового массива, ограничивающим фактором явилась полоса пропускания канала подключения к серверу.

Минимально зафиксированная latency:
  • При записи – 0,9ms для блока 4K jobs=1,2 sync
  • При чтении — 0,6ms для блоков 4K и 8К jobs=1-8 sync

2. СХД входит в режим насыщения при:
  • асинхронном способе в/в при 2-4 jobs на блоках 32К, 64К и при 8 jobs на маленьких и средних блоках (4-16К).
  • синхронном способе в/в при 128-192 jobs.

3. На блоках 1Мбайт получена максимальная пропускная способность в 2 раза превышающая максимальные показатели, полученные на средних блоках (16-64К).

4. Массив выдает одинаковое количество операций ввода-вывода на блоках 4 и 8К и чуть меньшую на блоке 16К. Оптимальными блоками для работы с массивом являются 8 и 16К.

Группа 3: Тесты производительности дискового массива при разных типах нагрузки, исполняемые на уровне блокового устройства, при конфигурации СХД R0.

Графики. (Все картинки кликабельны)

Синхронным способом в/в Асинхронным способом в/в с глубиной очереди 32 Асинхронным способом в/в с глубиной очереди 64
При случайном чтении


При случайной записи


При смешанной нагрузке (70% чтение, 30% запись)




Таблицы 6-8. (Все картинки кликабельны)
Таблица 6. Производительность СХД в конфигурации RAID 0 при одном процессе, генерирующем нагрузку (jobs=1)

Таблица 7. Максимальная производительность СХД в конфигурации RAID 0 при задержках меньше 1мс

Таблица 8. Максимальная производительность СХД в конфигурации RAID 0 при различном профиле нагрузки.

Основные выводы:

1. Максимально зафиксированные параметры производительности для СХД в конфигурации RAID 0 (из средних за время выполнения каждого теста — 1 мин):

Запись:
  • 311 000 IOPS при latency 1,6ms (блок 4KB async qd32,64);
  • при синхронном вводе-выводе — 190 000 IOPS при latency 0,7 ms (блоки 4К и 8К);
  • Bandwidth: 3160МБ/c для больших блоков (1МБ), около 2500Мб/с для средних блоков (16-64К).*

Чтение:
  • 310 000 IOPS при latency 3,3ms (блок 4K async qd64);
  • при синхронном вводе-выводе — 91 000 IOPS при latency 0,7ms (блок 4К);
  • Bandwidth: 3260МБ/с для больших блоков.*

* Учитывая тот факт, что дисковый массив подключен к тестовому серверу посредством 4-х 8Gb/s полученные значения с большой вероятностью не являются предельными для дискового массива, ограничивающим фактором явилась полоса пропускания канала подключения к серверу.

Смешанная нагрузка (70/30 rw)
  • 305 000 IOPS при latency 1,2ms (блок 4К async qd64);
  • при синхронном вводе-выводе — 225 000 IOPS при latency 0,95 ms (блоки 4К);
  • Bandwidth 4140МБ/с для больших блоков (1Мбайт, 64К, 32К).

Минимально зафиксированная latency:
  • При записи – 0,35ms для блока 4K jobs=1,2 sync
  • При чтении — 0,6ms для блоков 4K и 8К jobs=1sync

2. СХД входит в режим насыщения при:
  • асинхронном способе в/в при 2-4 jobs на блоках 32К, 64К и при 8 jobs на маленьких и средних блоках (4-16К).
  • синхронном способе в/в при 64-128 jobs.

3. На блоках 1Мбайт получена максимальная пропускная способность в 2 раза превышающая максимальные показатели, полученные на средних блоках (16-64К)

4. Массив в конфигурации RAID0 выдает одинаковое количество операций ввода-вывода на блоках 4 и 8К и чуть меньшую на блоке 16К. Оптимальными блоками для работы с массивом являются 8 и 16К.

Выводы


От работы с массивом остались приятные впечатления. Полученные результаты производительности оказались выше ожидаемых. Массив отличает классическая архитектура систем хранения с двумя контроллерами, стандартные уровни RAID и обычные eMLC SSD накопители. Следствием такой архитектуры являются низкая стоимость по сравнению с другими флэш-СХД и более высокие задержки обработки операций ввода-вывода.
Huawei Dorado G2 отлично подойдет для многопоточных нагрузок, не сильно критичных к задержкам.
Tags:
Hubs:
+6
Comments6

Articles

Change theme settings

Information

Website
in-line.ru
Registered
Founded
Employees
201–500 employees
Location
Россия