NVMe в карточке тарифа стал таким же обязательным словом, как «безлимитный трафик» десять лет назад. Разберём, что за ним стоит и когда за него имеет смысл платить
Что на самом деле различается
SATA-SSD и NVMe-SSD используют одну и ту же флеш-память. Разница в интерфейсе: SATA ограничен примерно шестью гигабитами в секунду и одной очередью команд, NVMe работает через PCI Express и держит тысячи параллельных очередей
На последовательном чтении большого файла разница составляет три-пять раз. На случайном доступе мелкими блоками, а это ровно то, что делают базы данных, разница доходит до порядка
Где разница видна пользователю
Заметна:
- базы данных под нагрузкой: PostgreSQL, MySQL, ClickHouse
- 1С и Битрикс, особенно проведение документов и закрытие периода
- активные сайты с большим количеством мелких файлов и кэшей
- сборка проектов и CI-раннеры, где постоянно создаются и удаляются тысячи файлов
Практически не заметна:
- статический сайт или лендинг, который целиком помещается в оперативную память
- Telegram-бот, который раз в секунду ходит в внешний API
- сервер под задачи, упирающиеся в процессор, а не в диск
Если проект попадает во вторую группу, доплата за NVMe это деньги, потраченные на строчку в описании тарифа
Почему слово NVMe в описании ещё ничего не значит
На виртуальном сервере вы получаете не диск, а долю дисковой подсистемы гипервизора. На эту долю влияют три вещи, которых в описании тарифа обычно нет
Первое: лимит операций ввода-вывода. Провайдер может стоять на NVMe и при этом резать тариф до нескольких сотен операций в секунду, что медленнее честного SATA без лимита
Второе: плотность посадки. Если на хосте живут двести соседей, физическая скорость массива делится между ними, и в пиковые часы вы получите не то, что показывал тест сразу после выдачи сервера
Третье: тип массива. NVMe в составе программного зеркала на дешёвых потребительских накопителях ведёт себя иначе, чем корпоративные накопители с защитой от потери питания
Как проверить перед оплатой
Просите тестовый период и меряйте сами. Минимально достаточная проверка занимает пять минут: последовательное чтение, случайное чтение блоками по четыре килобайта и задержка. Тест на пустом сервере в три часа ночи и тест в рабочий день дают разные цифры, и вторая цифра важнее
В каталоге тип диска указан у каждого тарифа отдельным полем, а в калькуляторе NVMe можно отметить как требование, тогда провайдеры без подходящих тарифов уйдут вниз списка
Короткий вывод
NVMe стоит требовать, когда на сервере живёт база данных или 1С. Для сайта, бота и типового бэкенда разница чаще всего теряется на фоне сетевых задержек. Ориентироваться только на аббревиатуру в описании не стоит: значение имеют лимиты, а не интерфейс