Pull to refresh
2759.12
RUVDS.com
VDS/VPS-хостинг. Скидка 15% по коду HABR15

HDD, SSD или NVMe: что выбрать для виртуального сервера (тесты внутри)

Level of difficultyMedium
Reading time6 min
Views13K


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

При заказе виртуального сервера RUVDS наряду с другими настройками конфигурации существует возможность выбрать тип диска. На минимальных параметрах виртуалки доступны HDD RAID и SSD RAID. Но при повышении тактовой частоты CPU до значения в 3.4 ГГц выбор типа диска увеличивается на один пункт, а именно — NVMe.



Выбор из таких типов дисков, естественно, подразумевает, что операционная система и другие данные, которыми вы наполните виртуальную машину, будут размещаться на HDD-, SSD- или NVMe-накопителе.

Как выбрать? Что лучше? На что ориентироваться? Для начала окунёмся в теорию.

Немного теории


Быстро пробежимся по основным принципам работы рассматриваемых накопителей. Законы жанра, сами понимаете.

▍ HDD


Жёсткий диск (Hard Disk Drive, HDD) — это устройство для хранения данных, процесс записи и чтения информации, на котором основан на использовании магнитных полей дисков внутри устройства.

HDD состоит из одного или нескольких магнитных дисков, которые изготовлены из материала с магнитным покрытием, таким как оксид железа. Каждый диск состоит из нескольких слоёв, на которых информация записывается и хранится. Поверхность магнитного диска разделена на концентрические кольца, называемые дорожками, и области, называемые секторами. Каждый сектор содержит определённое количество данных. Внутри корпуса HDD находятся магнитные головки, которые перемещаются над поверхностью диска. Именно они используются для записи и считывания данных с магнитных дисков.

При записи данных на диск магнитные головки HDD создают магнитное поле, которое изменяет ориентацию магнитных частиц на поверхности магнитного диска. Информация кодируется в виде последовательности магнитных изменений, например, намагниченных и не намагниченных областей, которые представляют собой бинарные данные — 0 и 1. Чтобы произвести запись, магнитные головки перемещаются над поверхностью диска и в нужном месте меняют магнитное поле. Такие изменения в магнитном поле сохраняются на поверхности магнитного диска и используются для представления информации.

При чтении данных магнитные головки считывают магнитные изменения на поверхности магнитного диска. Эти магнитные изменения интерпретируются как бинарные данные, то есть 0 или 1. Последовательность этих значений представляет собой информацию, сохранённую на диске. Для того, чтобы считать данные, магнитные головки перемещаются над поверхностью диска. Считанные данные передаются в контроллер HDD и далее в компьютер или другое устройство для обработки и дальнейшего использования.

Для доступа к определённым данным на HDD используется система индексации, которая указывает, где находятся данные на поверхности диска и как они организованы. Контроллер HDD управляет доступом к данным, перемещая магнитные головки и читая/записывая данные в соответствии с запросами пользователя.

▍ SSD


SSD (Solid State Drive) представляет собой накопитель, который использует флеш-память для хранения информации без использования подвижных механических компонентов, таких как вращающиеся диски и магнитные головки, присутствующие в HDD.

Основными компонентами SSD являются флеш-чипы, например, NAND-флеш, контроллер и интерфейс для подключения к компьютеру или другому устройству. Флеш-память SSD состоит из ячеек памяти, которые хранят биты информации в виде заряда электричества. Каждая ячейка может хранить несколько битов, обычно 1, 2 или 3 — SLC, MLC и TLC соответственно. Для записи данных в ячейку памяти контроллер SSD применяет определённое напряжение, что изменяет заряд ячейки и сохраняет информацию. Контроллер SSD управляет чтением и записью данных в ячейках флеш-памяти. А также отвечает за управление износом ячеек памяти и равномерным распределением операций записи по ячейкам для увеличения срока службы SSD. Поскольку флеш-память не имеет подвижных частей, доступ к данным на SSD осуществляется электронным образом, что делает его значительно быстрее по сравнению с HDD.

▍ NVMe


В 2011 году был представлен протокол NVMe (Non-Volatile Memory Express) как стандарт для работы с устройствами хранения данных на основе флеш-памяти, такими как SSD. Он был разработан для оптимизации производительности и улучшения управления флеш-памятью за счёт использования более эффективных методов передачи данных и управления командами чтения/записи.

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

NVMe работает поверх шины PCI Express, что обеспечивает высокую пропускную способность и широкую совместимость с современными компьютерами и серверами.

Попробуем потестить


Итак, мы исходим из того, что HDD обладает меньшей скоростью чтения/записи информации, при этом является более доступным для хранения информации в больших объёмах. SSD и NVMe — более производительные и оперируют бо́льшими скоростями при обмене данными, хотя стоимость их эксплуатации, естественно, выше.

Но это в теории. Так ли это работает на виртуальных серверах? Мы заказали три виртуалки одинаковой конфигурации, работающие под управлением Windows 2022 и расположенные в одном дата-центре. Отличие одно — на наших виртуальных машинах установлены накопители различных типов.

Для оценки скорости чтения и записи накопителей в Windows-системах мы будем использовать две простые утилиты: CrystalDiskMark и ATTO Disk Benchmark. Обе они являются популярными бесплатными программами для бенчмаркинга дисков.

▍ CrystalDiskMark


У CrystalDiskMark простой и интуитивно понятный интерфейс. После запуска теста утилита выводит результаты в виде таблицы, показывающей скорость чтения и записи данных в различных условиях.

Мы запускали тест в CrystalDiskMark на дефолтных настройках, и вот что из этого получилось.

Результаты теста для виртуалки, работающей на HDD, — на скриншоте ниже:


А это значения показателей замера скорости чтения и записи SSD-накопителя:


И наконец, результаты теста накопителя NVMe:


Полученные показатели в данных тестах означают следующее:

  • SEQ1M Q8T1 — тест последовательного чтения или записи блоками в 1 МБ, глубиной очереди в 8 и один поток.
  • SEQ1M Q1T1 — тест последовательного чтения или записи блоками в 1 МБ, глубиной очереди в 1 и один поток.
  • RND4K Q32T1 — тест случайного чтения или записи блоками в 4 МБ, глубиной очереди в 32 и один поток.
  • RND4K Q1T1 — тест случайного чтения или записи блоками в 4 МБ, глубиной очереди в 1 и один поток.

Для наглядности мы построили диаграмму из данных, полученных при тестах скорости чтения накопителей наших виртуальных серверов:



То же, но для показателей оценки скорости записи:



Как видно, CrystalDiskMark демонстрирует преимущество в скорости при использовании на виртуальной машине NVMe-накопителя.

▍ ATTO Disk Benchmark


Такую же проверку скорости чтения/записи мы проведём с использованием ATTO Disk Benchmark. Утилита отображает результаты теста в виде графика, который показывает скорость передачи данных в зависимости от размера блока данных.

Мы нагрузили систему тестом при помощи файла объёмом 32 ГБ и глубиной очереди 256. На нашем VPS с HDD-диском тест скорости выглядел следующим образом:


А так, отобразились результаты проверки виртуалки на SSD-накопителе:


На скриншоте ниже — показатели теста накопителя NVMe:


Тест диска C: при помощи ATTO Disk тоже демонстрирует преимущество в скорости виртуального сервера, который размещён на NVMe-накопителе.

Вместо заключения


В общем случае выбор между HDD, SSD и NVMe зависит от конкретных потребностей, бюджета и ожиданий от производительности.

Если важна ёмкость хранения и вы готовы пожертвовать некоторой производительностью, в таком случае HDD может быть более подходящим вариантом.

  • HDD-диска будет вполне достаточно для виртуалки, которую вы планируете использовать в качестве ресурса для разработки, где высокая производительность не является критической, например, для разработки веб-сайтов, простых приложений, либо для тестирования программного обеспечения.
  • Виртуальная машина с HDD может спокойно использоваться для создания централизованных хранилищ данных или бэкапов, где скорость доступа к данным не является основным фактором, но требуется большая ёмкость хранения.
  • HDD-накопитель может быть использован для хостинга статических сайтов, блогов и других небольших авторских проектов.

Однако если нужна высокая производительность, быстродействие и низкое время доступа к данным, то SSD будут оптимальным выбором.

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

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

  • Поскольку NVMe-накопители обеспечивают высокую пропускную способность и низкую задержку, они идеально подходят для хранения и обработки данных, например, в MySQL, PostgreSQL, MongoDB и других системах управления БД.
  • Виртуалку на NVMe также можно использовать для выполнения вычислительно интенсивных задач, таких как машинное обучение, обработка видео и аудио.

И ещё. До конца марта в RUVDS действуют скидки при заказе виртуального выделенного сервера на NVMe. Здесь можно арендовать такой VPS по цене от 1344 рублей в месяц. Всё же это не так дорого, как может показаться.

Telegram-канал со скидками, розыгрышами призов и новостями IT 💻
Tags:
Hubs:
Total votes 30: ↑25 and ↓5+32
Comments65

Articles

Information

Website
ruvds.com
Registered
Founded
Employees
11–30 employees
Location
Россия
Representative
ruvds