NVMe хранилище. Тесты производительности

Результаты тестов и сравнительные тесты производительности различных решений для объединения NVMe SSD в RAID массив — программных, аппаратных, гибридных.

NVMe интерфейс резко поменял картину задержек пересылки данных (вклад разных компонент в общие задержки рассмотрен в заметке Скоростные характеристики NVMe). В эпоху дисковых накопителей задержки передачи по интерфейсу были практически незаметны на фоне остальных задержек. Для SSD они стали играть заметную роль. Интерфейс NVMe выравнивает наметившийся дисбаланс и обеспечивает минимально возможную задержку, соответствующую параметрам накопителей.

Показатели производительрности

В качестве показателей производительности для NVMe SSD и подсистемы NVMe в целом принят ряд метрик, показывающих скоростные характеристики для различных сценариев нагрузки (параметры и методики их измерения описаны в спецификации SNIA):
IOPS (Input/Output Operations Per Second) — количество операций ввода/вывода в секунду. Это показатель скорости системы на случайных коротких запросах. Он зависит от размера блока, внутреннего устройства накопителя и настроек хост-контроллера;
средняя и максимальная задержка передачи. Время, затраченное подсистемой хранения на получение запроса и подготовку ответа. Во многом определяется внутренним устройством контроллера накопителя. Средняя задержка замеряется на блоках трех размеров (8KiB, 4KiB, 0.5KiB) и в трех соотношениях чтение/запись (100/0, 65/35, 0/100) при глубине очереди =1;
пропускная способность системы. Показатель скорости последовательного чтения/записи. Измеряется на операциях с блоками большого размера — 128k и 1m. Этот параметр больше относится к тестированию накопителей и показывает максимальную скорость выдачи последовательных данных без ограничений со стороны интерфейса. В тестах пропускная способность рассматривается с точки зрения влияния на нее программного обеспечения.

Эти показатели относятся к «синтетическим» тестовым системам. Группа тестовых программ пытается привязать показатели производительности к реальному применению. Они эмулируют «средние по больнице» сценарии, например, для баз данных или нагрузку, создаваемую пулом виртуальных машин.

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

Ниже приведены некоторые из найденных тестов.