Тестирование SATA SSD Kingston DC400
19.09.16
Корпоративные SSD от Kingston
Компания Kingston Technology знаменита в первую очередь модулями оперативной памяти, накопителями USB-флеш и относительно недорогими, но качественными накопителями SATA SSD для домашних пользователей. При этом Kingston достаточно давно присутствует на рынке SSD корпоративного класса, пусть и со сравнительно небольшим количеством моделей.
Появившийся в 2009 Kingston SSDNow E был не самостоятельной разработкой, а OEM-разновидностью очень популярного в то время Intel X25-E на базе памяти SLC. Позже портфолио компании дополнилось моделями E50 и E100, которые долгое время оставались популярными благодаря хорошему соотношению между ценой и производительностью.
Kingston DC400
Kingston DC400 был официально представлен 29 августа 2016. Новая линейка SSD относится к новому классу бюджетных накопителей для дата-центров. Они обладают сравнительно небольшим ресурсом, то есть предназначены для нагрузок с преимущественным чтением, где эти накопители демонстрируют высокую производительность и стабильный уровень задержек. Конденсаторная защита от потери питания отсутствует, но при этом обеспечивается защита целостности метаданных. Большим преимуществом таких бюджетных SSD является цена — чуть дороже домашних SSD.
Примером накопителя подобного класса может служить Intel S3100, с которым мы и будем сравнивать новинку от Kingston. Первое отличие — Kingston предлагает больший объём, от 480 до 1600 ГБ, в то время как максимальный объём Intel S3100 составляет 1000 ГБ.
Дизайн Kingston DC400 — легко узнаваемый прочный алюминиевый корпус и большая наклейка с фирменным логотипом.
Характеристики
- Объём: 400, 480, 800, 960, 1600, 1800 ГБ
- Форм-фактор: 2,5", высота 7 мм
- Интерфейс: SATA 3.0 6 Гбит/с
- Производительность
- Последовательный доступ: чтение — 555 МБ/с, запись — 510 МБ/с
- Случайный доступ (блок 4 КиБ, модель 1600 ГБ): чтение — 78000 IOPS, запись — 32000 IOPS
- QoS задержки (блок 4 КиБ, случайный доступ, перцентиль 99,9%): 400 мкс / 4 мс
- Эмулируемый размер сектора: 512 байт (физический/логический)
- Ресурс (модель 1600 ГБ): 0,57 DWPD
- Гарантийный срок: 5 лет
Результаты тестирования
Условия тестирования
Конфигурация тестового стенда:- Процессор Intel Xeon E5-2660 V3 (10 ядер, 2,6 ГГц, HT включен)
- 32 ГБ памяти
- Системная плата Supermicro X10SRi-F (1x socket R3, Intel C612)
- SAS3 HBA Avago 9300-8i (драйвер 12.00.00.00-1, прошивка 12.00.00.00)
- CentOS Linux 7.2 X86_64
- Для генерации нагрузки применялся FIO версии 2.12
- Kingston DC400 1600 ГБ (SEDC400S371600G)
- Серийный номер: 50026B726604DCB4
- Прошивка: SAFM32.D
- Объём: 1 600 321 314 816 байт (1,46 ГиБ)*
Использованы модифицированные тесты из SNIA Solid State Storage Performance Test Specification Enterprise v1.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)
- вместо соотношения 65/35 используется 70/30
- приводятся не только средние и максимальные значения, но и перцентили 99%, 99,9% и 99,99%.
- для выбранного значения количества потоков строятся графики зависимости задержки (99%, 99,99% и среднего значения) от IOPS для всех блоков и соотношений чтение/запись
- Write Saturation Test. Тестируется изменение производительности (IOPS и задержка) при непрерывной нагрузке (1200 раундов по 1 минуте) на случайную запись блоками 4 КиБ. Цель — добиться перехода SSD в режим насыщения, при котором контроллеру приходится непрерывно заниматься сборкой мусора для подготовки пригодных для записи блоков NAND.
- Host Idle Recovery. Тестируется эффективность работы алгоритмов сборки мусора. После перехода в режим насыщения: непрерывная нагрузка на случайную запись чередуется с облегчённой нагрузкой (5 секунд + паузы 5, 10, 15, 25, 50 секунд). Отличие от спецификации — вместо рекомендованной спецификацией предварительной нагрузки длительностью менее 30 раундов (минут) используется 1200 раундов (минут) для обеспечения гарантированного перехода SSD в режим насыщения.
Для первых трех тестов проводится серия замеров из 25 раундов длительностью 1 минута каждый. Перед тестом производится зануление (в данном случае — форматирование через sg_format), затем — предварительная нагрузка: последовательная запись блоками 128 КиБ до достижения 2-кратной емкости. Далее выбирается по одной из величин окно установившегося состояния (4 раунда), которое проверяется построением графика. Критерии установившегося состояния: линейная аппроксимация в пределах окна не должна выходить за границы 90%/110% среднего значения.
SNIA PTS: IOPS test (IOPS при варьировании размера блока и соотношения чтение/запись)
Сравнение с заявленными характеристиками:- 4 КиБ чтение: 65 тыс. IOPS
- 4 КиБ запись: 48 тыс. IOPS
- 8 КиБ чтение: 39 тыс. IOPS
- 8 КиБ запись: 35 тыс. IOPS
- 4 КиБ 65/35 чтение/запись: 44 тыс. IOPS
Kingston DC400 демонстрирует очень приличные показатели для накопителя бюджетного класса, для которых типичным является 5–10 тыс. IOPS на запись.
SNIA PTS: throughtput test
Пропускная способность при последовательном однопоточном доступе блоками 128 КиБ с глубиной очереди 128. Сравнение с заявленными характеристиками:- 128 КиБ последовательное чтение: 516,6 МиБ/с
- 128 КиБ последовательная запись: 464,2 МиБ/с
Производительность на чтение вплотную приближается к пределу пропускной способности интерфейса SATA 3. Более 400 МиБ/с на запись является отличным результатом для накопителей, позиционируемых как read intencive. Мы не проводили собственное тестирование накопителей Intel S3100, но заявленная в спецификации производительность при последовательной записи у них существенно ниже — до 118 МиБ/с.
Для сравнения приведены результаты трёх других накопителей: Kingston E50, OCZ Saber 1000 и Toshiba HK3R.
SNIA PTS: latency test
Приведены значения задержки в микросекундах (средняя, и перцентили 99%, 99.9%, 99.99%) при одном потоке с глубиной очереди 1 в зависимости от размера блока и соотношения чтение/запись (100% чтение, 70/30 чтение/запись, 100% запись).
Kingston SEDC400S371600G | ||
Задержка | 4КиБ | 8КиБ |
Средняя | ||
Чтение | 182 | 219 |
Запись | 70 | 62 |
Чтение/запись 70/30% | 427 | 339 |
99% | ||
Чтение | 239 | 307 |
Запись | 135 | 130 |
Чтение/запись 70/30% | 3184 | 2119 |
99,9% | ||
Чтение | 271 | 337 |
Запись | 524 | 153 |
Чтение/запись 70/30% | 3817 | 3483 |
99,99% | ||
Чтение | 316 | 369 |
Запись | 5000 | 189 |
Чтение/запись 70/30% | 5200 | 4260 |
Здесь мы наглядно видим особенности корпоративного класса, пусть и бюджетного — низкий и стабильный уровень задержек. Для чтения (Kingston DC400 заявлен как SSD для преимущественной нагрузки на чтение) держится в пределах существенно меньше 1 мс (перцентиль 99,99% — 0,3 мс, не приведённое в таблице пиковое значние — 0,6 мс).
Latency vs IOPS test
Данные усреднялись по четырём из 25-ти раундов длительностью 35 секунд (5 «прогревочных» + 30-секундная нагрузка) каждый. Для графиков выбрана серия значений с глубиной очереди от 1 до 32 при одном потоке. По мере увеличения глубины очереди растёт задержка, и по подобному графику можно оценить не просто абстрактное число IOPS, а производительность с учётом задержки. Kingston DC400 демонстрирует хорошую оптимизацию для чтения — даже при максмальной для устройств с интерфейсом SATA глубине очереди 32 средняя задержка не превышает нескольких сотен микросекунд и остается стабильной — перцентиль 99,99% не превышает миллисекунду с небольшим.
Средняя задержка.
99,99% перцентиль задержки.
Дополнительный Over Provisioning
SSD для домашнего применения и бюджетные корпоративные модели обладают сравнительно небольшим ресурсом и низкой производительностью на запись. Помимо архитектурных особенностей (недорогая медленная NAND-память, производительность контроллера SSD и особенности его прошивки) это определяется объёмом резервной области.
Предыдущие тесты наглядно продемострировали нам, что Kingston DC400 оптимизирован для нагрузок на чтение (собственно, для них он изначально и предназначен). Появление даже 30% записи в нагрузке приводит к увеличению задержек более чем на порядок. Можно ли исправить эту ситуацию, увеличив резервную область SSD, которая увеличит порог перехода к состоянию насыщения (когда будет исчерпан пул подготовленных для записи блоков)? Конечно можно, любым из традиционных способов:
- При помощи утилиты от производителя.
- Задать HPA при помощи hdparm (для дисков SATA). Для NVMe — создать namespace меньшего объёма.
- Выполнить secure erase и создать раздел меньшего объёма. При подключении через RAID-контроллер — том объёмом меньше максимального.
Для увеличения резервной области были выбраны значения в 15, 30 и 50% от штатного объёма SSD. Результаты для 15%-го OP и 100% записи получились странными — производительность получилась ниже, чем без дополнительного OP. Остальные результаты получились предсказуемыми:
- Дополнительная резервная область в 30% от штатного объёма приводит к существенному росту производительности. Например, при средней задержке в 1 мс на нагрузке «70/30 чтение/запись» мы получаем почти 2-кратный прирост — 33 тыс. IOPS вместо 17 тыс. Если, наоборот, зафиксировать требуемое кол-во IOPS на отметке 20 тыс., то мы получаем 6-кратное снижение средней задержки.
- Дальнейшее наращивание резервной области свыше 30% не имеет смысла, соответствующие линии на графиках практически совпадают.
Средняя задержка.
99,99% перцентиль задержки.
SNIA PTS: Write Saturation Test (насыщение при случайной записи блоками 4КиБ)
Рост объёмов современных SSD вынуждает увеличивать продолжительность данного теста. Стандартных 360 минут уже не достаточно для выхода в режим насыщения — тест был увеличен до 1200 минут.
Kingston DC400 снижает производительность с 48 до 25 тыс. IOPS — результат на уровне более дорогих конкурентов с ресурсом в 2-3 DWPD. Для упоминавшегося выше приблизительного аналога Intel S3100 заявлено всего 4700 IOPS.
На следующем графике представлены задержки — от среднего (в пределах каждого 60-секундного раунда) до максимума, плюс перцентили 99%, 99,9% и 99,99%. Этот график, как и предыдущий, наглядно демонстрирует особенности прошивки Kingston DC400 — так как данный SSD просто не предназначен для интенсивной нагрузки на запись (тем более непрерывной многочасовой случайной записи малыми блоками, как в данном тесте), то всё внимание уделено сохранению небольшого ресурса. Для этого алгоритм сборки мусора преднамеренно сделан «ленивым» — он не вступает в действие до полного исчерпания свободных для записи блоков NAND и затем запускается периодически, подготавливая сразу большие порции блоков. Таким образом, в жертву производительности приносится ресурс. Контроллер не допускает так называемого «усиления записи» за счёт постоянно работающей сборки мусора, перемещающей данные между блоками.
SNIA PTS: Host Idle Recovery
Графики для этого теста приведены для одной половины накопителя. Напомним, что данный тест проводится после предыдущего, т.е. накопитель находится в режиме насыщения, с небольшим запасом подготовленных для записи ячеек. Производительность на запись снижена, далее мы даём накопителю возможность восстановить её, прерывая серию из 360 раундов с непрерывной нагрузкой (чёрный цвет на графике) сериями из 360-ти раундов с увеличивающимися паузами:
- 5 секунд нагрузки + 5 секунд паузы
- 5 секунд нагрузки + 10 секунд паузы
- 5 секунд нагрузки + 15 секунд паузы
- 5 секунд нагрузки + 25 секунд паузы
- 5 секунд нагрузки + 50 секунд паузы
На графиках мы видим, что по мере увеличения паузы всё большая часть запросов начинает обрабатываться быстрее (растёт количество IOPS и снижается задержка).
Средняя задержка:
Перцентиль 99,99%:
Заключение
Kingston DC400 обеспечивает отличную для своего класса производительность. SSD этой линейки предназначены для нагрузок с преимущественным чтением, но при необходимости могут выдержать и кратковременную большую нагрузку на запись.