NVMe vs SSD vs HDD: разница на практике
Диск — частое узкое место сервера. База тормозит, сайт долго отдаёт первый байт, бэкап разворачивается вечность. Разберём три типа накопителей, чем они отличаются на цифрах и почему NVMe выигрывает.
Содержание
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Три типа дисков коротко
HDD — механический жёсткий диск с вращающимися пластинами и головкой. Дёшев за терабайт, но медленный: головке нужно физически доехать до нужного места. SATA SSD — твердотельный накопитель без движущихся частей, подключён по старому интерфейсу SATA. NVMe — тоже твердотельный, но подключён напрямую по шине PCIe, минуя ограничения SATA.
- HDD: ~100–200 IOPS, задержка миллисекунды, интерфейс SATA.
- SATA SSD: десятки тысяч IOPS, потолок интерфейса ~550 МБ/с.
- NVMe: сотни тысяч IOPS, скорость гигабайты в секунду, задержка десятки микросекунд.
Разница между HDD и NVMe — не проценты, а порядки. По случайным операциям NVMe быстрее HDD в сотни раз.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPS на NVMeПочему интерфейс решает всё
SATA придумали во времена жёстких дисков, и его потолок — около 550 МБ/с. Даже самый быстрый SSD упрётся в этот предел, если подключён по SATA. NVMe избавляется от посредника: накопитель общается с процессором напрямую по линиям PCIe, поэтому скорость измеряется гигабайтами в секунду, а очередь команд — десятками тысяч вместо одной у SATA.
На сервере это чувствуется не в синтетике, а в реальных операциях: база отвечает на запрос быстрее, потому что случайное чтение с NVMe почти мгновенное; логи пишутся, не создавая очередь; распаковка большого бэкапа идёт в разы быстрее. В MAATRIX диски — именно NVMe, и в паре с AMD EPYC это убирает типичное дисковое бутылочное горлышко.
Что такое IOPS и почему они важнее МБ/с
Маркетинг любит показывать линейную скорость в МБ/с — красивые гигабайты при копировании одного большого файла. Но реальный сервер почти никогда не читает данные подряд. База, веб-приложение, почтовик работают с тысячами мелких случайных операций. Здесь важен показатель IOPS — число операций ввода-вывода в секунду.
Пример: HDD выдаёт ~150 случайных IOPS, NVMe — сотни тысяч. Когда база делает много мелких чтений, HDD захлёбывается в очереди, а NVMe отвечает мгновенно. Поэтому при выборе диска смотрите на случайные IOPS, а не только на линейную скорость.
# быстрый тест случайного чтения (нужен fio)
sudo apt install -y fio
fio --name=randread --ioengine=libaio --rw=randread \
--bs=4k --numjobs=1 --iodepth=32 --size=1G \
--runtime=30 --time_based --direct=1
Как узнать тип диска на своём VPS
Не всегда провайдер честно указывает NVMe. Проверьте сами. Колонка ROTA (rotational) равна 1 для механики и 0 для SSD/NVMe:
lsblk -d -o NAME,ROTA,SIZE,TYPE,MODEL
# NVMe-диски видны как /dev/nvme0n1
ls /dev/nvme* 2>/dev/null && echo 'NVMe присутствует'
nvme list 2>/dev/null
Если устройство называется nvme0n1 — у вас NVMe. Имя вида sda и ROTA=0 — это SSD (часто SATA). ROTA=1 — обычный жёсткий диск. Линейную скорость чтения грубо оценит hdparm:
sudo hdparm -t /dev/sda # или /dev/nvme0n1
Когда HDD всё-таки уместен
HDD не устарел полностью. Для холодного хранения — архивов, редко читаемых бэкапов, медиатеки — он выгоден по цене за терабайт. Но под систему, базу данных и рабочие файлы приложения HDD ставить нельзя: он станет узким местом всего сервера.
- NVMe: система, база, кэш, всё, что читается часто.
- SATA SSD: бюджетный компромисс, если NVMe недоступен.
- HDD: только холодные архивы и большие бэкапы, к которым обращаются редко.
Частые ошибки
- Смотреть только на МБ/с — для сервера важнее случайные IOPS.
- Верить слову «SSD» без проверки — SATA SSD в разы медленнее NVMe.
- Держать базу на HDD — гарантированные тормоза под нагрузкой.
- Не проверять диск после заказа — lsblk и fio занимают пару минут.
Если задача упирается в диск, переезд на NVMe часто даёт больший прирост, чем добавление ядер или памяти. На тарифах MAATRIX NVMe идёт по умолчанию, а оплатить сервер можно картой РФ, СБП, криптой или токеном MAAT — удобно для аудитории из России.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPS на NVMeОбсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Частые вопросы
Насколько NVMe быстрее SSD?
По линейной скорости в 3–7 раз, а по случайным IOPS — на порядок и больше. NVMe подключён по PCIe и не ограничен интерфейсом SATA (~550 МБ/с).
Что важнее — МБ/с или IOPS?
Для сервера важнее случайные IOPS: база и веб-приложение работают с тысячами мелких операций, а не с копированием одного большого файла.
Как проверить, NVMe у меня или нет?
Выполните lsblk -d -o NAME,ROTA,MODEL и ls /dev/nvme*. Устройство nvme0n1 и ROTA=0 означают NVMe.