Привет, Хабр! У многих хостинг‑провайдеров, предоставляющих услуги по аренде виртуалок, возможно самостоятельно сконфигурировать тариф под себя, выбрав необходимые параметры и их объём (тип процессора, тип диска, количество IP и т. д). Мне давно было интересно сравнить производительность SSD и NVMe в рамках одного хостинг‑провайдера, чтобы понять, есть ли смысл переплачивать за более быстрый диск, а также их производительность между провайдерами. И вот наконец‑то у меня появилось немного времени на подобный эксперимент — спешу поделиться результатами! И да, в этот раз со сравнительной итоговой табличкой :) 

NVMe, SSD и HDD
NVMe, SSD и HDD

Введение

В качестве подопытных я специально выбрал тех хостеров, у которых есть возможность заказать серверы как с SSD‑накопителем, так и с NVMe. Всех всё равно не проверить, поэтому в мой список попали в основном те, с кем я ранее уже имел дело — это всем вам хорошо знакомые компании, а именно: RUVDS, FirstVDS, VDSka, Reg.ru и «Интернет Хостинг Центр». Для чистоты эксперимента все серверы были с конфигурацией: CPU 2, RAM 2 Гб, Диск 40 Гб. Текст ниже получился суховатым, но вам, скорее всего, как раз интересны цифры, а не мои рассуждения в эпистолярном жанре :)


1️⃣ RUVDS

RUVDS SSD

Первыми на тесте оказался сервер с SSD-накопителем от RUVDS. 

Последовательные операции (Чтение):

  • IOPS: 790

  • Пропускная способность: 829 MB/s

  • Средняя задержка: 1258.35 мкс

  • Загрузка диска: 91.97%

Скорость чтения 829 MB/s при средней задержке 1258.35 мкс. Хороший результат для SSD-накопителя.

Последовательные операции (Запись):

  • IOPS: 1333

  • Пропускная способность: 1398 MB/s

  • Средняя задержка: 734.69 мкс

  • Загрузка диска: 63.16%

Очень хороший показатель для SSD-диска. Производительность на уровне некоторых NVMe из данного обзора (забегая вперёд).

Случайные операции (Чтение):

Тестирование случайного чтения (имитация нагрузок от баз данных) дало следующие результаты:

  • IOPS: 25.5k

  • Пропускная способность: 99.8 MiB/s (105 MB/s)

  • Средняя задержка: 152 мкс

  • Загрузка диска: 99%

И снова достойный результат для SSD.

Случайные операции (Запись):

Тестирование случайных записей показало схожий результат с тестированием чтения:

  • IOPS: 27.1k

  • Пропускная способность: 106 MiB/s (111 MB/s)

  • Средняя задержка: 145 мкс

  • Загрузка диска: 98%

Хороший результат для SSD.

RUVDS NVMe

Далее проведём тестирование NVMe‑диска и сравним с SSD. Производительность не только должна не уступать SSD, но и превосходить в некоторых моментах. Проверим, так ли это.

Последовательные операции (Чтение):

  • IOPS: 942

  • Пропускная способность: 942 MiB/s (988 MB/s)

  • Средняя задержка: 1055.04 мкс

  • Загрузка диска: 89.79%

Неплохие показатели. Производительность на уровне хороших SSD.

Последовательные операции (Запись):

  • IOPS: 1738

  • Пропускная способность: 1747 MiB/s (1832 MB/s)

  • Средняя задержка: 5519.99 мкс

  • Загрузка диска: 60.04%

Очень хорошая скорость записи, но средняя задержка оказалась выше ожидаемого, что может быть для кого-то критично.

Случайные операции (Чтение):

Случайное чтение также показало результаты лучше, чем у SSD:

  • IOPS: 33.8k

  • Пропускная способность: 132 MiB/s (139 MB/s)

  • Средняя задержка: 117 мкс

  • Загрузка диска: 99%

Отличные показатели скорости при низкой задержке.

Случайные операции (Запись):

  • IOPS: 71.6k

  • Пропускная способность: 280 MiB/s (293 MB/s)

  • Средняя задержка: 53,954 мкс

  • Загрузка диска: 93%

Лучший результат среди всех обозреваемых (забегая вперёд). Скорость записи в 293 MB/s и высокая IOPS на уровне 71.6k свидетельствуют о способности диска справляться с интенсивными операциями записи. Средняя задержка 53,954 мкс (53 954ns) и загрузка диска на уровне 93.06% — отличный результат, подтверждающий хорошую производительность при высокой нагрузке.

Вывод

В целом, что SSD, что NVMe показали очень хорошие результаты. Значения тестирования случайных операций очень приятно удивили, показав лучший результат среди всех испытуемых.


2️⃣ Firstvds SSD

Последовательные операции (Чтение):

Следующим протестируем SSD-диски от FirstVDS. Последовательное чтение показало следующие результаты:

  • IOPS: 1115

  • Пропускная способность: 1115 MiB/s (1170 MB/s)

  • Средняя задержка: 894 мкс

  • Загрузка диска: 83%

Очень хороший показатель для SSD, не уступающий некоторым NVMe-дискам.

Последовательные операции (Запись):

  • IOPS: 499

  • Пропускная способность: 500 MiB/s (524 MB/s)

  • Средняя задержка: 1969 мкс

  • Загрузка диска: 70%

Неплохая скорость, но довольно высокая задержка.

Случайные операции (Чтение):

Тестирование случайного чтения (имитация нагрузок от баз данных) дало следующие результаты:

  • IOPS: 34.7k

  • Пропускная способность: 135 MiB/s (142 MB/s)

  • Средняя задержка: 113 мкс

  • Загрузка диска: 99%

Очень хорошая скорость при низкой задержке — отличный результат для SSD.

Случайные операции (Запись):

  • IOPS: 21.9k

  • Пропускная способность: 85.7 MiB/s (89.8 MB/s)

  • Средняя задержка: 180 мкс

  • Загрузка диска: 91%

Средняя скорость записи при относительно невысокой задержке. Довольно средненько.

Firstvds NVMe

Теперь протестируем их NVMe и сравним с SSD.

Последовательные операции (Чтение):

  • IOPS: 2188

  • Пропускная способность: 2188 MiB/s (2294 MB/s)

  • Средняя задержка: 455 мкс

  • Загрузка диска: 68%

Лучший результат среди всех обозреваемых, и единственный, кто перешёл за значение в 2000. Отличная производительность для NVMe.

Последовательные операции (Запись):

  • IOPS: 749

  • Пропускная способность: 749 MiB/s (785 MB/s)

  • Средняя задержка: 1333 мкс

  • Загрузка диска: 53%

А вот скорость последовательной записи немного разочаровывает. Результат практически в 2 раза уступает обычному SSD от RUVDS как в скорости, так и в задержке.

Случайные операции (Чтение):

  • IOPS: 41.8k

  • Пропускная способность: 163 MiB/s (171 MB/s)

  • Средняя задержка: 93 мкс

  • Загрузка диска: 99%

Отличный результат. Высокая скорость при низкой задержке.

Случайные операции (Запись):

И наконец тестирование случайной записи.

  • IOPS: 27.0k

  • Пропускная способность: 106 MiB/s (111 MB/s)

  • Средняя задержка: 146 мкс

  • Загрузка диска: 88%

Хороший результат, но снова уступает (а точнее, находится на одном уровне) SSD от RUVDS.

Вывод

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


3️⃣ VDSka

VDSka SSD

Последовательные операции (Чтение):

  • IOPS: 799

  • Пропускная способность: 799 MiB/s (838 MB/s)

  • Средняя задержка: 1246 мкс

  • Загрузка диска: 92%

Хорошие показатели для SSD, не уступающий другим хостерам.

Последовательные операции (Запись):

Тестирование записи также показало неплохие результаты для SSD:

  • IOPS: 670

  • Пропускная способность: 671 MiB/s (703 MB/s)

  • Средняя задержка: 1487 мкс

  • Загрузка диска: 88%

Скорость 671 при задержке в 1487 мкс — неплохой результат

Случайные операции (Чтение):

Далее протестируем случайные операции. Чтение показало следующий результат:

  • IOPS: 10,000

  • Пропускная способность: 41 MB/s

  • Средняя задержка: 397.54 мкс

  • Загрузка диска: 99.72%

Немного разочаровывающий результат. Производительность более чем в 2 раза уступает серверам от RUVDS и FirstVDS.

Случайные операции (Запись):

  • IOPS: 22,900

  • Пропускная способность: 93.7 MB/s

  • Средняя задержка: 173.58 µs

  • Загрузка диска: 99.17%

А вот тут результаты уже хорошие. Немного лучше, чем у FirstVDS, но хуже, чем у RUVDS.

VDSka NVMe

Тестирование SSD оставило довольно положительное впечатление. Посмотрим, как себя покажут их NVMe-диски.

Последовательные операции (Чтение):

  • IOPS: 749

  • Пропускная способность: 749 MiB/s (785 MB/s)

  • Средняя задержка: 1330 мкс

  • Загрузка диска: 68%

Очень печально, результат на уровне SSD.

Последовательные операции (Запись):

  • IOPS: 745

  • Пропускная способность: 746 MiB/s (782 MB/s)

  • Средняя задержка: 1337 мкс

  • Загрузка диска: 76%

Также довольно низкие показатели. Производительность находится на уровне SSD.

Случайные операции (Чтение):

  • IOPS: 22.2k

  • Пропускная способность: 86.8 MiB/s (91 MB/s)

  • Средняя задержка: 175 мкс

  • Загрузка диска: 99%

Результат в два раза лучше, чем результат их SSD-диска, но всё же уступает другим NVMe и в целом находится на уровне SSD.

Случайные операции (Запись):

И наконец результаты тестирования случайной записи:

  • IOPS: 26.7k

  • Пропускная способность: 104 MiB/s (109 MB/s)

  • Средняя задержка: 148 мкс

  • Загрузка диска: 97%

Как и с другими тестами, производительность разочаровывает и находится на уровне SSD.

Вывод

Несмотря на то, что их SSD показал себя довольно хорошо, производительность NVMe очень разочаровала. Она находятся примерно на одном уровне — я не вижу особых причин переплачивать за NVMe-диск.


4️⃣ Reg.ru 

Следующими протестируем серверы от reg.ru и начнём также с SSD.

Reg.ru SSD

Последовательные операции (Чтение):

  • IOPS: 753

  • Пропускная способность: 753 MiB/s (790 MB/s)

  • Средняя задержка: 1324 мкс

  • Загрузка диска: 92%

Хороший показатель для SSD, не уступающий другим хостерам.

Последовательные операции (Запись):

  • IOPS: 875

  • Пропускная способность: 875 MiB/s (918 MB/s)

  • Средняя задержка: 1139 мкс

  • Загрузка диска: 83%

Как в случае и с чтением, отличные показатели для SSD.

Случайные операции (Чтение):

  • IOPS: 16.1k

  • Пропускная способность: 62.7 MiB/s (65.8 MB/s)

  • Средняя задержка: 248 мкс

  • Загрузка диска: 99%

Неплохие показатели, уступающие RUVDS и FirstVDS, но превосходящие VDSka.

Случайные операции (Запись):

  • IOPS: 12.6k

  • Пропускная способность: 49.4 MiB/s (51.8 MB/s)

  • Средняя задержка: 315 мкс

  • Загрузка диска: 99%

Неплохие показатели, но уступают другим испытуемым почти в 2 раза.

Reg.ru NVMe

Сервер c SSD показал средние результаты, не уступающие другим серверам. Пришло время посмотреть, как себя проявит их сервер с NVMe.

Последовательные операции (Чтение):

Первым делом тестируем последовательное чтение:

  • IOPS: 1638

  • Пропускная способность: 1638 MiB/s (1718 MB/s)

  • Средняя задержка: 608 мкс

  • Загрузка диска: 81%

Отличный результат. Лучше, чем у RUVDS, но хуже, чем у FirstVDS.

Последовательные операции (Запись):

  • IOPS: 1021

  • Пропускная способность: 1022 MiB/s (1072 MB/s)

  • Средняя задержка: 976 мкс

  • Загрузка диска: 43%

Также очень хороший результат, уступающий только RUVDS.

Случайные операции (Чтение):

Теперь посмотрим случайные операции. Чтение показало следующие результаты:

  • IOPS: 16.1k

  • Пропускная способность: 62.7 MiB/s (65.8 MB/s)

  • Средняя задержка: 248 мкс

  • Загрузка диска: 99%

К сожалению, тут результаты уже не такие хорошие — производительность находится на уровне SSD.

Случайные операции (Запись):

И наконец случайная запись:

  • IOPS: 12.6k

  • Пропускная способность: 49.1 MiB/s (51.5 MB/s)

  • Средняя задержка: 317 мкс

  • Загрузка диска: 99%

Как и в случае с чтением, довольно низкие результаты для NVMe. Производительность находится на уровне SSD.

Вывод:

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


5️⃣ Интернет Хостинг Центр (IHC) 

IHC SSD

Последний из испытуемых, начнём с SSD.

Последовательные операции (Чтение):

  • IOPS: 282

  • Пропускная способность: 283 MiB/s (296 MB/s)

  • Средняя задержка: 3534 мкс

  • Загрузка диска: 0% (Тест не смог корректно определить загруженность диска)

Очень низкий показатель. Самый худший результат из всех тестируемых.

Последовательные операции (Запись):

  • IOPS: 80

  • Пропускная способность: 80.8 MiB/s (84.8 MB/s)

  • Средняя задержка: 12361 мкс

  • Загрузка диска: 0%

Без комментариев… Очень низкая производительность при большой задержке.

Случайные операции (Чтение):

Тестирование последовательных операций показало очень низкие результаты. Теперь проверим случайные операции. Чтение:

  • IOPS: 17.0k

  • Пропускная способность: 66.5 MiB/s (69.7 MB/s)

  • Средняя задержка: 233 мкс

  • Загрузка диска: 0%

Неплохие показатели, находящиеся примерно на одном уровне с другими SSD.

Случайные операции (Запись):

  • IOPS: 18.9k

  • Пропускная способность: 74.0 MiB/s (77.6 MB/s)

  • Средняя задержка: 208 мкс

  • Загрузка диска: 0%

Как и чтение, довольно неплохие результаты, не сильно уступающие другим серверам.

Интернет Хостинг Центр (IHC) NVMe

Тестирование SSD, мягко говоря, разочаровало. Посмотрим, возможно NVMe покажет себя лучше.

Последовательные операции (Чтение):

  • IOPS: 1302

  • Пропускная способность: 1203 MiB/s (1366 MB/s)

  • Средняя задержка: 766 мкс

  • Загрузка диска: 87%

Отличный результат!

Последовательные операции (Запись):

  • IOPS: 631

  • Пропускная способность: 632 MiB/s (662 MB/s)

  • Средняя задержка: 1580 мкс

  • Загрузка диска: 82%

Довольно низкие показатели. Производительность уступает другим серверам с NVMe в два и более раза.

Случайные операции (Чтение):

  • IOPS: 11.71k

  • Пропускная способность: 45.7 MiB/s (47.9 MB/s)

  • Средняя задержка: 339.69 мкс

  • Загрузка диска: 99.73%

Слабовато. Худший результат из всех обозреваемых, а RUVDS и FirstVDS уступает более чем в 4 раза!

Случайные операции (Запись):

И последний тест на случайные записи:

  • IOPS: 35.31k

  • Пропускная способность: 137 MiB/s (144 MB/s)

  • Средняя задержка: 296436 нс (~296 мкс)

  • Загрузка диска: 99.93%

На удивление очень хороший результат. Лучше, чем у FirstVDS, но хуже, чем у RUVDS.

Вывод

Производительность SSD очень разочаровала. Больше похоже на HDD диск. С NVMe ситуация получше, но за исключением тестирования случайных записей, результаты тестирования находятся на уровне SSD других хостеров.


? Бонус: дополнительное тестирование HDD от RUVDS

Во время теста обратил внимание, что среди всех обозреваемых только у RUVDS есть возможность выбрать конфигурацию сервера с HDD-диском (у FirstVDS также есть HDD, но доступен он только как «большой диск» для хранения большого объёма информации). Стало интересно протестировать и сравнить его производительность с SSD.

Последовательные операции (Чтение):

  • IOPS: 290

  • Пропускная способность: 290 MiB/s (304 MB/s)

  • Средняя задержка: 3443.06 мкс

  • Загрузка диска: 96.73%

Последовательные операции (Запись):

  • IOPS: 887

  • Пропускная способность: 887 MiB/s (930 MB/s)

  • Средняя задержка: 1124 мкс

  • Загрузка диска: 64%

Случайные операции (Чтение):

  • IOPS: 804

  • Пропускная способность: 3218 KiB/s

  • Средняя задержка: 4968 мкс

  • Загрузка диска: 99.71%

Случайные операции (Запись):

  • IOPS: 10.3k

  • Пропускная способность: 40.4 MiB/s (42.4 MB/s)

  • Средняя задержка: 385 мкс

  • Загрузка диска: 99.39%

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


? Общий вывод

Для наглядности и по просьбам читателей в прошлых публикациях, я привёл сравнение производительности (по IOPS) в виде двух табличек.

Таблица 1: Сравнение производительности SSD-накопителей (IOPS)

Таблица 2: Сравнение производительности NVMe-накопителей (IOPS)

RUVDS и FirstVDS выделяются лучшей производительностью как SSD- так и NVMe-дисков. VDSka и Reg.ru продемонстрировали достойные результаты для SSD, но их NVMe-диски не оправдали ожиданий, зачастую показывая производительность на уровне SSD. IHC, к сожалению, разочаровал низкой скоростью SSD и средними показателями NVMe.

Спасибо за внимание, надеюсь, мой опыт будет вам полезен!

Другие мои статьи на Хабре:

Комментарии (12)


  1. GennPen
    11.12.2024 08:51

    сравнить производительность SSD и NVMe

    Каждый NVMe-накопитель - это SSD. Но не каждый SSD-накопитель NVMe.


    1. czz
      11.12.2024 08:51

      Каждый NVMe-накопитель - это SSD.

      Не совсем так. Есть и HDD с NVMe интерфейсом, и кроме того, на другом конце NVMe интерфейса может быть, например, не накопитель, а контроллер NVMe-over-fabric.


      1. Broodmother215997
        11.12.2024 08:51

        Nvme - это интерфейс для ssd, работающий по pci-e

        Hdd с nvme? Очень интересно.. Скиньте пожалуйста ссылку на такой девайс


        1. czz
          11.12.2024 08:51

          https://habr.com/ru/companies/seagate/articles/645243/

          Nvme - это интерфейс для ssd, работающий по pci-e

          Не обязательно по PCI-e.


    1. ntsaplin
      11.12.2024 08:51

      Да, так и есть, но в хостинге это раздельные тарифы, и используется именно такая терминология.


      Благодарим автора за включение нашей компании в тест и за высокие оценки!


  1. inetstar
    11.12.2024 08:51

    Начну с главного: все тесты, что вы сделали, неверны и ошибочны.

    У вас иопсы рандомные сильно выше линейных. Это из-за ошибок в тестировании. Должны быть ниже.

    1) слишком маленький тестовый объём - 1G. Он тупо кешируется.

    2) нужно явно указывать раздел, который тестируете. Хотя бы для тестов чтения. Это, кстати, улучшит результаты. Файловая система - это абстракция, которая замедляет ввод/вывод.

    3) Самая главная ошибка. Нужно было отключать кеш и буфера. Вот пример правильной команды для тестирования случайной записи:

    fio --name=randwrite --filename=/dev/nvme0n1p9 --size=10G --ioengine=libaio --iodepth=1 --buffered=0 --direct=1 --rw=randwrite --blocksize=4k


    1. czz
      11.12.2024 08:51

      Похоже, что тестирование идет в виртуалках, а что там на хосте творится, неизвестно. А там тоже есть свой кэш, могут быть ограничения по IOPS и линейному чтению, может быть даже диски находятся в массиве, подключенном по сети.


      1. inetstar
        11.12.2024 08:51

        То что тестирование в виртуалках - это нормально. Ведь интересует производительность именно в виртуалках. А то что параметры тестирования неправильные, это сводит ценность статьи к нулю.


  1. porutchik
    11.12.2024 08:51

    Может весь тест ошибочный? :)


    1. Qusi Автор
      11.12.2024 08:51

      Из-за обилия проведенных тестирований и однообразных скриншотов, перепутал кое-что местами, но на итоги это не влияет. Спасибо, что обратили на это внимание, внёс правки.


  1. evs38
    11.12.2024 08:51

    А условия по тарифам читали? А то может быть выбрали самые дешёвые тарифы, и пытаетесь сравнивать что-то, а там лимиты установлены.


  1. axlial
    11.12.2024 08:51

    Попробуйте тест на запись у этих хостеров запустить хотя бы часов на 10 и сообщите скорость в конце тестирования (если не заблокируют виртуалки до этого :) )