Привет, Хабр! У многих хостинг‑провайдеров, предоставляющих услуги по аренде виртуалок, возможно самостоятельно сконфигурировать тариф под себя, выбрав необходимые параметры и их объём (тип процессора, тип диска, количество IP и т. д). Мне давно было интересно сравнить производительность SSD и NVMe в рамках одного хостинг‑провайдера, чтобы понять, есть ли смысл переплачивать за более быстрый диск, а также их производительность между провайдерами. И вот наконец‑то у меня появилось немного времени на подобный эксперимент — спешу поделиться результатами! И да, в этот раз со сравнительной итоговой табличкой :)
Введение
В качестве подопытных я специально выбрал тех хостеров, у которых есть возможность заказать серверы как с 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)
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
czz
11.12.2024 08:51Похоже, что тестирование идет в виртуалках, а что там на хосте творится, неизвестно. А там тоже есть свой кэш, могут быть ограничения по IOPS и линейному чтению, может быть даже диски находятся в массиве, подключенном по сети.
inetstar
11.12.2024 08:51То что тестирование в виртуалках - это нормально. Ведь интересует производительность именно в виртуалках. А то что параметры тестирования неправильные, это сводит ценность статьи к нулю.
evs38
11.12.2024 08:51А условия по тарифам читали? А то может быть выбрали самые дешёвые тарифы, и пытаетесь сравнивать что-то, а там лимиты установлены.
axlial
11.12.2024 08:51Попробуйте тест на запись у этих хостеров запустить хотя бы часов на 10 и сообщите скорость в конце тестирования (если не заблокируют виртуалки до этого :) )
GennPen
Каждый NVMe-накопитель - это SSD. Но не каждый SSD-накопитель NVMe.
czz
Не совсем так. Есть и HDD с NVMe интерфейсом, и кроме того, на другом конце NVMe интерфейса может быть, например, не накопитель, а контроллер NVMe-over-fabric.
Broodmother215997
Nvme - это интерфейс для ssd, работающий по pci-e
Hdd с nvme? Очень интересно.. Скиньте пожалуйста ссылку на такой девайс
czz
https://habr.com/ru/companies/seagate/articles/645243/
Не обязательно по PCI-e.
ntsaplin
Да, так и есть, но в хостинге это раздельные тарифы, и используется именно такая терминология.
Благодарим автора за включение нашей компании в тест и за высокие оценки!