Тестирование SSD Kingston DC500R и DC500M
05.06.19
Два с половиной года назад мы тестировали серверный SATA SSD Kingston DC400. Зарекомендовал он себя достаточно хорошо для класса накопителей, рассчитанных на преимущественное чтение (ресурс 0,57 DWPD). Последующие продажи показали отсутствие проблем с совместимостью с материнскими платами и контроллерами, а также практически полное отсутствие обращений по гарантии. За это время DC400 не устарел, если рассматривать его производительность, но, во-первых, благодаря развитию технологии многослойной TLC NAND значительно снизились цены на накопители большого объёма, во-вторых — стали более доступными накопители с интерфейсом NVMe. Так что данную статью стоит начать с обзора современной линейки твердотельных накопителей Kingston.
SSD Kingston в 2019 году
Kingston делит свои накопители на четыре частично пересекающихся линейки:- SSD для сборщиков систем: SATA SSD в форм-факторах 2,5", M.2 и mSATA Kingston UV500 и две модели накопителей с интерфейсом NVMe — Kingston A1000 и Kingston KC2000.
- SSD для пользователей. Те же модели, что и в предыдущей линейке плюс SATA SSD Kingston A400
- SSD для компаний: UV500 и KC2000.
- Корпоративные SSD. Накопители серии DC500, которые и являются предметом тестирования. Линейка DC500 делится на DC500R (преимущественное чтение, 0,5 DWPD) и DC500M (смешанные нагрузки, 1,3 DWPD). В нашем распоряжении оказались две модели: DC500R 960 ГБ и DC500M 1920 ГБ.
Kingston DC500R
Характеристики
- Объём: 480, 960, 1920, 3840 ГБ
- Форм-фактор: 2,5", высота 7 мм
- Интерфейс: SATA 3.0, 6 Гбит/с
- Заявленная производительность (для модели 960 ГБ)
- Последовательный доступ: чтение — 555 МБ/с, запись — 525 МБ/с
- Случайный доступ (блок 4 КиБ): чтение — 98 000 IOPS, запись — 20 000 IOPS
- QoS задержки (блок 4 КиБ, QD=1, перцентиль 99,9%): чтение — 500 мкс, запись — 2 мс
- Эмулируемый размер сектора: 512 байт (логический/физический)
- Ресурс: 0,5 DWPD
- Гарантийный срок: 5 лет
Официальная спецификация. Обратите внимание, что Kingston указывает для своих накопителей QoS значения полной задержки как максимальное значение перцентиля 99,9% (99,9% всех значений будут меньше указанной величины). Для серверных накопителей помимо ресурса и производительности важной характеристикой является стабильность значения задержки. Накопитель, который демонстрирует красивые значения IOPS в синтетических тестах, но периодически «задумывается» на несколько миллисекунд, не может обеспечить нормальной работы критичных сервисов. Кроме Kingston QoS задержки указывают в документации только Intel и Micron.
Kingston DC500M
Характеристики
- Объём: 480, 960, 1920, 3840 ГБ
- Форм-фактор: 2,5", высота 7 мм
- Интерфейс: SATA 3.0, 6 Гбит/с
- Заявленная производительность (для модели 1920 ГБ)
- Последовательный доступ: чтение — 555 МБ/с, запись — 520 МБ/с
- Случайный доступ (блок 4 КиБ): чтение — 98 000 IOPS, запись — 75 000 IOPS
- QoS задержки (блок 4 КиБ, QD=1, перцентиль 99,9%): чтение — 500 мкс, запись — 2 мс
- Эмулируемый размер сектора: 512 байт (логический/физический)
- Ресурс: 1,3 DWPD
- Гарантийный срок: 5 лет
Тестирование
Условия тестирования
Конфигурация тестового стенда:- Процессор Intel Xeon E5-2620 V4 (8 ядер, 2,1 ГГц, HT включен)
- 32 ГБ памяти
- Системная плата Supermicro X10SRi-F (1x socket R3, Intel C612)
- CentOS Linux 7.6.1810
- Для генерации нагрузки применялся FIO версии 3.14
- Kingston DC500R 960 ГБ (SEDC500R960G)
- Прошивка: SCEKJ2.3
- Объём: 960 197 124 096 байт (894 ГиБ)*
- Kingston DC500M 1920 ГБ (SEDC500M1920G)
- Прошивка: SCEKJ2.3
- Объём: 1 920 383 410 176 байт (1788 ГиБ)*
Использованы модифицированные тесты из SNIA Solid State Storage Performance Test Specification v2.0.1. Данная спецификация описывает алгоритмы различных тестов и формат отчетов. Ниже приведены параметры тестов и отличия от SNIA PTS:
- IOPS Test. Измеряется количество IOPS (операций ввода-вывода в секунду) для блоков различного размера (1024 КиБ, 128 КиБ, 64 КиБ, 32 КиБ, 16 КиБ, 8 КиБ, 4 КиБ, 0,5 КиБ) и случайного доступа с различным соотношением чтение/запись (100/0, 95/5, 65/35, 50/50, 35/65, 5/95, 0/100). Параметры: 16 потоков с глубиной очереди 8. Отличие от спецификации — из теста был исключён блок 0,5 КиБ (512 байт).
- Throughput Test. Тестируется пропускная способность при последовательном доступе: чтение и запись блоками 1 МиБ и 128 КиБ.
- Latency Test. Измеряется значение средней и максимальной задержки для различных размеров блока (8 КиБ, 4 КиБ, 0,5 КиБ) и соотношений чтение/запись (100/0, 65/35, 0/100) при минимальной глубине очереди (1 поток с QD=1). Отличия от спецификации:
- исключён блок 0,5 КиБ
- вместо однопоточной нагрузки с очередями 1 и 32 нагрузка варьируется по количеству потоков (1, 2, 4) и глубине очереди (1, 2, 4, 8, 16, 32) для СХД, массивов, одиночных накопителей SAS и SATA. Для NVMe и all-flash конфигураций используется большее количество потоков с глубиной очереди до 128.
- вместо соотношения 65/35 используется 70/30
- приводятся не только средние и максимальные значения, но и перцентили 99%, 99,9%.
- для выбранного значения количества потоков строятся графики зависимости задержки (99%, 99,9% и среднего значения) от IOPS для всех блоков и соотношений чтение/запись
- Write Saturation Test. Тестируется изменение производительности (IOPS и задержка) при непрерывной нагрузке (1200 раундов по 1 минуте) на случайную запись блоками 4 КиБ. Цель — добиться перехода SSD в режим насыщения, при котором контроллеру приходится непрерывно заниматься сборкой мусора для подготовки пригодных для записи блоков NAND.
Для первых трех тестов проводится серия замеров из 25 раундов длительностью 1 минута каждый. Перед тестом производится зануление (в данном случае — secure erase при помощи утилиты hdparm), затем — предварительная нагрузка: последовательная запись блоками 128 КиБ до достижения 2-кратной емкости. Далее выбирается по одной из величин окно установившегося состояния (4 раунда), которое проверяется построением графика. Критерии установившегося состояния: линейная аппроксимация в пределах окна не должна выходить за границы 90%/110% среднего значения.
SNIA PTS: IOPS test (IOPS при варьировании размера блока и соотношения чтение/запись)
Kingston DC500R
Табличные данные:Размер блока, КиБ | Чтение/запись | ||||||
0/100 | 5/95 | 35/65 | 50/50 | 65/35 | 95/5 | 100/0 | |
4 | 69708 | 69456 | 73600 | 64818 | 56074 | 54424 | 99000 |
8 | 34891 | 30850 | 28620 | 26732 | 26655 | 36738 | 59080 |
16 | 15430 | 14868 | 15457 | 15490 | 15634 | 22001 | 31899 |
32 | 7888 | 7794 | 7768 | 8299 | 8636 | 13740 | 16609 |
64 | 4308 | 4119 | 4280 | 4722 | 4956 | 7991 | 8480 |
128 | 2190 | 2127 | 2305 | 2670 | 3049 | 4251 | 4280 |
1024 | 303 | 285 | 325 | 401 | 434 | 504 | 540 |
Kingston DC500R
Табличные данные:Размер блока, КиБ | Чтение/запись | ||||||
0/100 | 5/95 | 35/65 | 50/50 | 65/35 | 95/5 | 100/0 | |
4 | 88481 | 89636 | 90945 | 90192 | 90651 | 97460 | 98875 |
8 | 54359 | 51341 | 45176 | 48612 | 49110 | 52216 | 58758 |
16 | 29831 | 28761 | 26911 | 28062 | 28419 | 29396 | 31810 |
32 | 15704 | 15163 | 14339 | 15253 | 15648 | 15991 | 16578 |
64 | 8049 | 7821 | 7566 | 8078 | 8297 | 8426 | 8468 |
128 | 4007 | 3895 | 3938 | 4140 | 4210 | 4269 | 4280 |
1024 | 516 | 505 | 520 | 525 | 529 | 538 | 539 |
Данный тест не предполагает выхода в режим насыщения, при котором производительность на запись опускается до минимума, так что оба накопителя демонстрируют отличные показатели IOPS на запись блоками 4 КиБ: 70 и 88 тысяч IOPS соответственно. Заявленная производительность на чтение подтверждается с запасом и приближается к пределу производительности любых твердотельных накопителей с интерфейсом SATA.
SNIA PTS: throughtput test
Пропускная способность при последовательном доступе блоками 128 КиБ и 1 МиБ, 8 потоков с глубиной очереди 16 на каждый поток.
Kingston DC500R:
- 128 КиБ последовательное чтение: 539,81 МиБ/с
- 128 КиБ последовательная запись: 416,16 МиБ/с
- 1 МиБ последовательное чтение: 539,98 МиБ/с
- 1 МиБ последовательная запись: 425,18 МиБ/с
Kingston DC500M:
- 128 КиБ последовательное чтение: 539,27 МиБ/с
- 128 КиБ последовательная запись: 518,97 МиБ/с
- 1 МиБ последовательное чтение: 539,44 МиБ/с
- 1 МиБ последовательная запись: 518,48 МиБ/с
Скорость последовательного чтения у SSD уже несколько лет назад приблизилось к практическому пределу пропускной способности интерфейса SATA 3. Запись немного отстаёт, особенно для накопителей класса read intensive. Полученные значения скорости последовательной записи для 500R получились заметно ниже заявленных. Скорее всего, это связано с тем, что тестирование производительности последовательного доступа в Kingston выполнялось без предварительной нагрузки (preconditioning'а). Впрочем, для накопителя, который вообще не предназначен для таких нагрузок (напомним, что ресурс у DC500R составляет 0,5 DWPD), эти 400 с лишним МБ/с являются хорошим результатом.
Latency vs IOPS test
Данные усреднялись по четырём из 25-ти раундов длительностью 35 секунд (5 «прогревочных» + 30-секундная нагрузка) каждый. Для графиков выбрана серия значений с глубиной очереди от 1 до 32 при 1–4 потоках (хотя для накопителей SATA достаточно максимальной глубины очереди 32 при одном потоке). По мере увеличения глубины очереди растёт задержка, и по подобному графику можно оценить не просто абстрактное число IOPS, а производительность с учётом задержки. На одном графике объединены показатели обоих накопителей.
Средняя задержка:
Этот график наглядно демонстрирует разницу в предназначении накопителей DC500R и DC500M. Первый предназначен для преимущественной нагрузки на чтение, IOPS на на запись практически не растёт с увеличением нагрузки, оставаясь на уровне 25 000. В смешанной нагрузке (70% записи плюс 30% чтения) различие между DC500R и DC500M тоже остаётся заметным: если выбрать нагрузку, соответствующую задержке в 400 микросекунд, то мы увидим, что DC500M способен выдать в 3 раза больше IOPS в сравнении с DC500R.
Любопытная деталь — DC500M опережает DC500R даже при 100%-чтении, обеспечивая меньшую задержку при том же количестве IOPS.
99%-перцентиль задержки:
99.9%-перцентиль задержки:
Здесь можно проверить достоверность заявленных характеристик по QoS задержки. Kingston обещает 0,5 мс на чтение и 2 мс на запись для блока 4 КиБ при глубине очереди равной 1. Эти показатели подтвердились с большим запасом, но есть особенность: минимальная задержка на чтение (280–290 мкс для DC500R и 250–260 мкс для DC500M) достигается не при QD=1, а при 2–4. Задержка на запись при QD=1 составила 50 мкс (столь низкая задержка получается за счёт того, что при низкой нагрузке гарантированно успевает освобождаться кэш накопителя, так что мы всегда видим задержку при записи в кэш), что в 40 раз ниже заявленного значения.
SNIA PTS: Write Saturation Test (насыщение при случайной записи блоками 4КиБ)
Рост объёмов современных SSD вынуждает увеличивать продолжительность данного теста. Стандартных 360 минут уже не достаточно для выхода в режим насыщения — продолжительность теста был увеличена до 600 минут.
На одном графике объединены данные по двум накопителям.
При непрерывной нагрузке на запись по мере исчерпания запаса подготовленных для записи блоков DC500M снижает производительность до 77–78 тысяч IOPS при заявленных 75 тыс. Это отличный результат для недорого накопителя на базе TLC NAND. Производительность DC500R снижается до 22 тыс. IOPS при заявленных 20 тысячах.
На следующем графике представлены задержки: медианное значение (статистические данные вычислялись в пределах каждого 60-секундного раунда), перцентили 99%, 99,9% и 99,99%. Задержка растёт пропорционально падению IOPS, никаких больших пиковых значений задержки не наблюдается. Напомним, что в данном случае тестирование осуществляется в 8 потоков с глубиной очереди 16 на каждый поток, так что стоит обращать внимание не на абсолютные значения, а на их динамику. Например, при тестировании накопителя DC400 был отмечен периодический сильный рост задержек (почти на 2 порядка), связанный с работой контроллера по сборке мусора. В случае с DC500R и DC500M такого не наблюдается.
Composite Block Size Workload (CBW)
Дополнение от 13.06.2019: добавлен ещё один тест, упрощённый вариант теста №13 спецификации SNIA SSS PTS 2.0.1. В ходе данного теста исследовалось распределение задержки под нагрузкой в виде специального паттерна CBW:
Размеры блоков:
Размер блока, байт | Доля в нагрузке, % |
512 | 4 |
1024 | 1 |
1536 | 1 |
2048 | 1 |
2560 | 1 |
3072 | 1 |
3584 | 1 |
4096 | 67 |
8192 | 10 |
16384 | 7 |
32768 | 3 |
65536 | 3 |
Распределение нагрузки по объёму накопителя:
Доля в нагрузке, % | Диапазон LBA |
50 | первые 5% |
30 | следующие 15% |
20 | последние 80% |
Соотношение чтение/запись: 60/40%.
После secure erase и предварительной нагрузки запускались по 10 60-секундных раундов основного теста для количества потоков 1–4 и глубины очереди 1–32. Гистограмма распределения строилась по значениям из раундов, соответствующих средней производительности в IOPS, которая для обоих накопителях достигалась при одном потоке с глубиной очереди 4.
DC500R: 17949 IOPS при задержке 594 мкс, DC500M: 18880 IOPS при 448 мкс.
Распределение задержки анализировалось отдельно для чтения и записи.
Заключение
Новая линейка серверных твердотельных накопителей от Kingston показала хорошие результаты в тестах. Kingston DC500R можно рекомендовать для нагрузок с преимущественным доступом на чтение (например, кэширование web-контента, потоковое видео), где эти накопители обеспечивают высокую производительность при стабильном уровне задержки. Для смешанной нагрузки и при необходимости в большем ресурсе на запись следует использовать модель Kingston DC500M. Применение памяти TLC 3D-NAND помогло Kingston и другим производителям SSD существенно снизить стоимость накопителей большого объёма. Цены на всем модели линейки DC500 выглядят очень привлекательно на фоне конкурентов, особенно если учесть пятилетний гарантийный срок и высокий уровень технической поддержки.