Скоростные диски NVMe SSD появились в 2013 году, но использовать их в своей инфраструктуре мы решились только сейчас, когда не осталось сомнений в надежности технологии.
До сих пор диски SATA SSD были самым быстрым хранилищем, доступным на виртуальных серверах. Теперь NVMe SSD могут оспорить это звание. В этой статье разберемся, как работает технология NVMe, и сравним производительность разных технологий. Далее, для удобства, будем использовать сокращенный вариант названий: просто SSD для старого стандарта, NVMe — для нового.
Что такое NVMe
NVMe — это новый стандарт SSD-накопителей. Обычные SSD работают по интерфейсу SATA, который передает информацию медленнее, чем на это способен сам накопитель. NVMe работает по интерфейсу PCI Express, производительности которого хватает с головой. Диск NVMe выдает бо́льшую скорость чтения-записи данных.
Другая особенность — протокол по которому происходит взаимодействие диска с остальным компьютером. SSD используют устаревший протокол AHCI, который изначально разрабатывался для жёстких магнитных дисков. Он абсолютно не учитывает особенности работы твердотельного накопителя, ограничивает его. Для NVMe компания Intel разработала собственный интерфейс — диски стали эффективнее работать с большим количеством одновременных запросов, быстрее обращаться в оперативную память за данными. Диск NVMe обеспечивает обработку бо́льшего количества запросов в единицу времени (IOPS).
Тестируем скорость
Диски NVMe опережают SSD по скорости работы примерно в 2-3 раза, однако в различных режимах работы разница может быть как более, так и менее ощутимой.
Постарались оценить производительность виртуального сервера с разных сторон — не только скорость чтения-записи, но и то, как эта скорость влияет на прикладные задачи.
Тестировать и сравнивать между собой будем SSD-накопители на интерфейсе SATA3 и NVMe-накопители на интерфейсе U.2.
Тактико-технические характеристики платформы:
- Платформа: Intel S2600WFT
- Процессор: Intel(R) Xeon(R) Gold 5115 CPU @ 2.40GHz - 2шт.
- ОЗУ: 64 ГБ DDR4 2666Mhz
- Накопители:
— INTEL SSD DC P4510 (SSDPE2KX010T8) на 1 Тб
— INTEL SSD D3-S4510 (SSDSC2KB019T8) на 1920 Гб по 2 шт
— система установлена на отдельный накопитель Micron 5100 PRO (MTFDDAK480TCB) на 480 Гб
- Операционная система: CentOS Linux 7 со штатным ядром - 3.10 (на момент тестирования версия ядра 3.10.0-862.14.4.el7.x86_64). Планировщик ввода-вывода - none.
Тактико-технические характеристики накопителей
Битрикс
Развернем стандартную редакцию CMS Битрикс Старт на двух VDS и запустим встроенный тест производительности.
Производительность движка Битрикс:
- 36 попугаев на SSD
- 79 попугаев на NVMe (больше — лучше)
Резервные копии
Владельцы крупных сайтов сталкиваются с ситуацией, когда долго создается резервная копия. Важно, чтобы нагрузка на дисковую подсистему и время выполнения дисковых операций были минимальными. Это напрямую влияет на скорость работы сервера и время открытия самих сайтов.
Попробуем создать бэкап всё того же сайта на Битрикс.
Скорость создания бэкапа в Битрикс:
- 27 секунд на SSD
- 18 секунд на NVMe (меньше — лучше)
Скорость открытия сайта
Так ли влияет наличие быстрого NVMe-диска на скорость открытия сайта? Проверим скорость открытия сайта на Битрикс — насколько быстро он загружается из разных точек.
Скорость открытия страницы:
- 1,2 секунды на SSD
- 0,6 секунды на NVMe (меньше — лучше)
Скорость чтения/записи и количество запросов в секунду (IOPS)
Напоследок выполним основные тесты для проверки производительности диска — измерим и сравним:
- линейное чтение
- случайное чтение
- линейную запись
- случайную запись
- IOPS
Буду измерять показания утилитой fio при глубине очереди 16, блоками по 4K, 8K, 16K, 32K, 64K, 128K, 1M, 4M (4М не является обязательным вариантом). Условия теста исключительно синтетические, позволяют выжать из накопителей максимальные показатели.
Если хотите посмотреть все цифры — по ссылке pdf с данными в таблицах.
NVMe выходит на пиковую скорость линейного чтения на блоках с 1М до 4М. А SSD выходит на свой «потолок» на блоках размером в 128К и зажимается пропускной способностью шины SATA.
В операциях же со случайным чтением SSD выходит на максимальную скорость на блоках в 128К, в то время как у NVMe картина не меняется.
В операциях линейной записи NVMe выходит на максимальную скорость уже на блоках в 8К, SSD — с 16к-32к. В операциях случайной записи картина схожая.
Примечательно, что результаты тестов подтверждают обещания производителя. А IOPS’ов получилось даже больше.
Заключение
По всем тестам NVMe демонстрирует уверенное преимущество над SSD. Конечно, тесты получились не очень чистыми — виртуалки с NVMe открываются на новых платформах Xeon Scalable. Они производительнее серверов Xeon E5, которые мы использовали до этого.
Опробовать мощь новой технологии можете на стандартных тарифах с диском NVMe или на Форсаже 2.0. В кластерах с этими услугами используем точно такую же платформу, как и в тестировании.