Что такое NVMe и зачем он в VPS
NVMe — это не просто «быстрый SSD», а другой способ общения диска с процессором. На VPS именно он часто определяет, летает база данных или тормозит на каждом запросе. Разбираемся, что это, как проверить и когда разница реально заметна.
Содержание
Обсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →NVMe простыми словами
NVMe (Non-Volatile Memory Express) — протокол, по которому накопитель разговаривает с системой напрямую через шину PCI Express, минуя старый контроллер SATA. Обычный SSD унаследовал интерфейс от жёстких дисков: одна очередь команд и потолок пропускной способности SATA. NVMe спроектирован под флеш-память с нуля.
- SATA SSD — 1 очередь, до 32 команд, потолок ~550 МБ/с.
- NVMe SSD — до 65 тысяч очередей по 65 тысяч команд, гигабайты в секунду.
- HDD — механические головки, десятки МБ/с и мизерный IOPS.
Ключевое отличие не в максимальной скорости линейного чтения (её редко видишь на сервере), а в IOPS — числе мелких операций ввода-вывода в секунду. Именно от IOPS зависит, как быстро база отвечает на тысячи маленьких запросов.
Есть и второй важный параметр — латентность, то есть задержка отдельной операции. У HDD она измеряется миллисекундами (головке нужно физически доехать до дорожки), у SATA SSD — десятками микросекунд, у NVMe — единицами. Когда база делает fsync после каждой транзакции, именно эта задержка складывается в общее время ответа. На NVMe транзакции подтверждаются почти мгновенно, поэтому под нагрузкой в тысячи коммитов в секунду разница с механикой становится пропастью.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPS на NVMeПочему IOPS важнее гигабайтов в секунду
Серверная нагрузка — это почти всегда мелкие случайные чтения и записи: строки в БД, сессии, логи, файлы кэша. Линейная скорость тут почти не работает — решает случайный доступ. HDD выдаёт 100-200 IOPS, SATA SSD — десятки тысяч, NVMe — сотни тысяч и миллионы.
На практике это разница между «страница грузится за 200 мс» и «за 40 мс» при той же логике приложения. Под нагрузкой в 100 одновременных запросов к базе медленный диск становится очередью, в которой всё ждёт своей записи на диск.
MAATRIX строит тарифы на связке AMD EPYC + NVMe именно поэтому: быстрое ядро без быстрого диска упирается в ожидание ввода-вывода, и мощный процессор простаивает.
Наглядный пример — деплой контейнеров. Образ Docker состоит из десятков слоёв и тысяч мелких файлов; на HDD его распаковка и запуск растягиваются на минуты, на NVMe укладываются в секунды. То же с node_modules, где счёт идёт на десятки тысяч крохотных файлов: сборка проекта на быстром диске идёт заметно бодрее просто потому, что файловая система успевает обрабатывать поток мелких операций без очереди.
Как проверить тип диска на VPS
Посмотреть список блочных устройств и их модель можно так:
lsblk -d -o NAME,ROTA,MODEL,SIZE
ls /dev/nvme* 2>/dev/null
Если видишь устройства вида /dev/nvme0n1 — это NVMe. Столбец ROTA=0 означает не-вращающийся накопитель (SSD/NVMe), ROTA=1 — механический HDD. Детали контроллера покажет:
sudo apt install -y nvme-cli
sudo nvme list
Измеряем реальную скорость
Синтетический тест диска удобно снять утилитой fio. Проверим случайное чтение мелкими блоками — самый показательный для сервера сценарий.
sudo apt install -y fio
fio --name=randread --ioengine=libaio --iodepth=32 \
--rw=randread --bs=4k --direct=1 --size=1G \
--numjobs=1 --runtime=30 --group_reporting
В выводе смотри строку read: IOPS=. На хорошем NVMe тут будут сотни тысяч операций, на SATA SSD — десятки, на HDD — сотни. Не забудь удалить тестовый файл после замера.
rm -f randread.0.0
Когда разница особенно заметна
- Базы данных — PostgreSQL/MySQL под нагрузкой упираются в fsync и случайную запись.
- Много мелких файлов — сборка проектов, node_modules, кэши.
- Контейнеры — образы Docker и слои разворачиваются в разы быстрее.
- ИИ-инференс — загрузка весов модели с диска в память.
Для статического сайта с редкими заходами разница между SATA и NVMe почти незаметна. Но как только появляется база, очередь задач или контейнеры — быстрый диск перестаёт быть роскошью.
Частые заблуждения
- «NVMe = просто быстрее качает» — главное преимущество в IOPS, а не в линейной скорости.
- «У всех хостеров SSD одинаковый» — SATA SSD и NVMe различаются в разы по случайному доступу.
- «Диск не важен, если много RAM» — fsync базы всё равно идёт на диск, а рестарт греет кэш заново.
- «HDD дешевле и хватит» — под любой живой проект механика становится узким местом.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK, США и РФ. Оплата картой РФ и по СБП.
Арендовать VPS на NVMeОбсудить статью, задать вопрос или начать новую тему
Есть вопрос по этой статье, идея для обсуждения или просто хотите поделиться опытом? Сообщество MAATRIX ждёт. Для общения, пожалуйста, зарегистрируйтесь в нашем личном кабинете.
Перейти в сообщество →Частые вопросы
Чем NVMe отличается от обычного SSD?
NVMe работает через шину PCI Express с тысячами параллельных очередей команд, а SATA SSD ограничен старым интерфейсом с одной очередью. На случайных операциях NVMe быстрее в разы.
Как понять, что на моём VPS именно NVMe?
Выполни lsblk и проверь, есть ли устройства вида /dev/nvme0n1. Также поможет sudo nvme list — она покажет модель и параметры контроллера.
Для каких задач NVMe даёт максимальный эффект?
Для баз данных, контейнеров, сборок и любой нагрузки с множеством мелких случайных операций. У MAATRIX NVMe идёт вместе с AMD EPYC во всех тарифах.