- NVMe-накопитель подключается по шине PCIe и при четырёх линиях упирается в теоретические ~8 ГБ/с на PCIe 4.0 и ~16 ГБ/с на PCIe 5.0, а SATA SSD ограничен интерфейсом SATA III 6 Гбит/с - около 600 МБ/с.
- Протокол AHCI, через который работают SATA-диски, даёт одну очередь на 32 команды, а спецификация NVMe - до 65 535 очередей по 65 536 команд, поэтому NVMe лучше переносит параллельные запросы.
- Для баз данных, сайтов и сборок важнее IOPS и задержка на случайных операциях блоками 4 КБ, чем линейная скорость: здесь NVMe опережает SATA SSD, а HDD отстаёт на порядки.
- Тип диска VPS по имени устройства не узнать - внутри виртуальной машины диск виден как
vdaилиsda; надёжнее замерить случайное чтение утилитойfio. - Все тарифы Tihost работают на NVMe: диск от 40 до 450 ГБ, цена от $4.00 в месяц.
Чем NVMe отличается от SATA SSD и HDD?
NVMe и SATA SSD - оба твердотельные накопители на флеш-памяти, разница в том, как они подключены к процессору. SATA SSD работает через тот же интерфейс SATA и протокол AHCI, что и жёсткие диски (HDD), и наследует их ограничения. NVMe (NVM Express) - протокол, созданный специально для флеш-памяти: накопитель подключается напрямую к шине PCIe. HDD - механический диск с вращающимися пластинами и головкой, которой нужно физически переместиться к данным.
Интерфейс: PCIe против SATA
SATA III передаёт до 6 Гбит/с, а после служебного кодирования остаётся около 600 МБ/с - это потолок любого SATA SSD, каким бы быстрым ни был сам флеш. NVMe-накопитель обычно занимает четыре линии PCIe, и потолок задаёт поколение шины: около 4 ГБ/с у PCIe 3.0, около 8 ГБ/с у PCIe 4.0 и около 16 ГБ/с у PCIe 5.0. Это теоретическая пропускная способность канала, реальные накопители до неё не дотягивают, но разница с SATA всё равно кратная.
Очереди команд: AHCI и NVMe
AHCI проектировался для жёстких дисков, у которых одна головка и обрабатывать много запросов параллельно нет смысла: одна очередь глубиной 32 команды. Спецификация NVMe допускает до 65 535 очередей ввода-вывода по 65 536 команд в каждой, и каждое ядро процессора может работать со своей очередью без блокировок. На сервере, где одновременно пишут база данных, веб-сервер и логи, это и даёт NVMe преимущество под параллельной нагрузкой.
Почему для сервера важнее IOPS и задержка, чем МБ/с?
Большинство серверных задач читают и пишут не большие файлы подряд, а тысячи мелких кусочков в случайных местах диска. Здесь решают IOPS - сколько операций в секунду выдерживает диск - и задержка каждой операции, а линейные гигабайты в секунду почти не видны.
- Базы данных (PostgreSQL, MySQL) читают страницы индексов и таблиц блоками по несколько килобайт и ждут
fsyncпри каждой фиксации транзакции - задержка диска прямо добавляется ко времени запроса. - Сборки и пакетные менеджеры (
npm install, компиляция,docker build) создают и читают десятки тысяч мелких файлов. - Сайты и CMS под нагрузкой одновременно читают файлы, пишут сессии, кэш и логи - это параллельные мелкие операции.
- Бэкапы, раздача больших файлов, видео - редкий случай, где важна именно последовательная скорость в МБ/с.
Сравнение NVMe, SATA SSD и HDD
| HDD | SATA SSD | NVMe SSD | |
|---|---|---|---|
| Носитель | Вращающиеся пластины | Флеш-память | Флеш-память |
| Подключение | SATA (или SAS) | SATA III, 6 Гбит/с | PCIe, обычно 4 линии |
| Протокол | AHCI (для SATA) | AHCI | NVMe |
| Очереди команд | 1 × 32 (SATA) | 1 × 32 | До 65 535 × 65 536 |
| Потолок интерфейса | Механика диска, а не интерфейс | Около 600 МБ/с | ~4 / ~8 / ~16 ГБ/с на PCIe 3.0 / 4.0 / 5.0 |
| Случайные операции 4 КБ, IOPS | Сотни | Десятки тысяч | Сотни тысяч и больше |
| Задержка доступа | Миллисекунды | Порядка сотни микросекунд | Десятки микросекунд |
| Где уместен на сервере | Архивы и холодные данные | Сайты и сервисы без тяжёлой записи | Базы данных, сборки, нагруженные сайты |
Термины
- NVMe (NVM Express)
- Протокол обмена с накопителями на флеш-памяти через шину PCIe: много параллельных очередей команд и минимальные накладные расходы.
- AHCI
- Протокол контроллера SATA, созданный для жёстких дисков: одна очередь глубиной 32 команды.
- IOPS
- Операций ввода-вывода в секунду: сколько отдельных запросов на чтение или запись выдерживает диск. Обычно меряют на блоках 4 КБ.
- Задержка (latency)
- Время от отправки запроса к диску до ответа. У HDD измеряется миллисекундами, у SSD - микросекундами.
- Глубина очереди (queue depth)
- Сколько запросов к диску отправлено и ещё не выполнено. Чем больше параллельных запросов держит диск, тем выше его IOPS под нагрузкой.
Как узнать, какой диск у вашего VPS?
Внутри виртуальной машины видно виртуальное устройство, а не физический накопитель: диск называется vda или sda, а флаг ROTA в lsblk (1 - вращающийся диск, 0 - нет) зависит от того, как его описал гипервизор, и может показывать 1 даже на NVMe. Надёжнее замерить поведение диска: задержку на одиночных запросах и IOPS под очередью.
lsblk -d -o name,rota,size
sudo apt install -y fio
cd ~
# задержка: случайное чтение 4 КБ по одному запросу
fio --name=lat --filename=fio-test --size=1G --direct=1 --ioengine=libaio --rw=randread --bs=4k --iodepth=1 --runtime=30 --time_based
# IOPS: то же, но с очередью из 64 запросов
fio --name=iops --filename=fio-test --size=1G --direct=1 --ioengine=libaio --rw=randread --bs=4k --iodepth=64 --runtime=30 --time_based
rm fio-testВ выводе fio смотрите на IOPS= и среднюю задержку clat: сотни IOPS и миллисекунды задержки - это HDD, десятки и сотни тысяч IOPS при задержке в десятки-сотни микросекунд - SSD. Учтите, что провайдер может ограничивать IOPS на виртуальный диск. Полный набор тестов процессора, диска и сети - в статье «Как проверить производительность VPS».
PCIe 4.0 и PCIe 5.0 на платформах Tihost
Поколение PCIe задаёт платформа: процессор AMD Ryzen 9 5950X (Германия, Финляндия) поддерживает PCIe 4.0, Ryzen 9 9950X (Польша) - PCIe 5.0. Это возможности процессоров, а не характеристики конкретных дисков; подробнее о различиях - в сравнении Ryzen 9 5950X и 9950X.
| AMD Ryzen 9 5950X | AMD Ryzen 9 9950X | |
|---|---|---|
| Архитектура | Zen 3 | Zen 5 |
| Ядра / потоки | 16 / 32 | 16 / 32 |
| Базовая частота | 3,4 ГГц | 4,3 ГГц |
| Частота в бусте | 4,9 ГГц | 5,7 ГГц |
| Кэш L3 | 64 МБ | 64 МБ |
| TDP | 105 Вт | 170 Вт |
| Техпроцесс | 7 nm | 4 nm |
| Память | DDR4 | DDR5 |
| PCIe | PCIe 4.0 | PCIe 5.0 |
| Выпуск | 2020-11 | 2024-08 |
| Где стоит | Германия, Финляндия | Польша |
NVMe во всех тарифах Tihost
Во всех конфигурациях Tihost диск - NVMe, объём от 40 до 450 ГБ в зависимости от тарифа; HDD и SATA SSD в тарифах нет. Сервер разворачивается примерно за 2 минуты после оплаты, внутри - KVM с полным root-доступом, так что диск можно сразу проверить fio. Что ещё входит в каждый сервер - в обзоре возможностей VPS Tihost.
| Линейка | Конфигурация | Германия | Финляндия | Польша |
|---|---|---|---|---|
| Starter | 1 vCPU·2 GB RAM·40 GB NVMe | $4.00 | $4.00 | $5.00 |
| Starter | 2 vCPU·4 GB RAM·80 GB NVMe | $7.70 | $7.70 | $9.60 |
| Starter | 4 vCPU·4 GB RAM·140 GB NVMe | $12.30 | $12.30 | $15.40 |
| Advanced | 4 vCPU·8 GB RAM·180 GB NVMe | $15.40 | $15.40 | $19.30 |
| Advanced | 6 vCPU·12 GB RAM·240 GB NVMe | $24.00 | $24.00 | $30.00 |
| Advanced | 8 vCPU·12 GB RAM·260 GB NVMe | $28.00 | $28.00 | $35.00 |
| Power | 8 vCPU·16 GB RAM·300 GB NVMe | $32.00 | $32.00 | $40.00 |
| Power | 12 vCPU·24 GB RAM·350 GB NVMe | $49.00 | $49.00 | $61.00 |
| Power | 16 vCPU·32 GB RAM·450 GB NVMe | - | - | $77.50 |
AMD Ryzen 9, NVMe и защита от DDoS в Германии, Финляндии и Польше. Оплата криптовалютой или картой.
Частые вопросы
Что быстрее для сервера: NVMe или SATA SSD?
NVMe: он подключён по шине PCIe без потолка SATA III около 600 МБ/с, держит до 65 535 очередей команд вместо одной и даёт меньшую задержку. Особенно разница видна на базах данных и других мелких случайных операциях.
NVMe - это тоже SSD?
Да. NVMe SSD и SATA SSD - оба твердотельные накопители на флеш-памяти; NVMe означает протокол и подключение через PCIe вместо SATA. Когда говорят «NVMe или SSD», обычно сравнивают NVMe SSD с SATA SSD.
Насколько NVMe быстрее SATA SSD?
По линейной скорости потолок SATA SSD - около 600 МБ/с, а NVMe на PCIe 4.0 и 5.0 - гигабайты в секунду. На случайных операциях 4 КБ NVMe выдаёт больше IOPS при меньшей задержке; в VPS итог зависит ещё и от лимитов провайдера.
Нужен ли NVMe для VPS?
Для баз данных, интернет-магазинов, CMS и сборок проектов - да: их скорость упирается в IOPS и задержку диска. Для VPN, прокси или простого бота диск почти не важен, но NVMe и там ускоряет установку пакетов и обновления.
Как узнать, на каком диске работает мой VPS?
Имя устройства (vda, sda) и флаг ROTA в lsblk в виртуальной машине мало что говорят. Замерьте случайное чтение утилитой fio блоками 4 КБ: у NVMe будут десятки-сотни тысяч IOPS и задержка в микросекундах, у HDD - сотни IOPS и миллисекунды.
Какие диски в VPS Tihost?
Во всех тарифах Tihost - NVMe, объём от 40 до 450 ГБ в зависимости от конфигурации, цена от $4.00 в месяц. HDD и SATA SSD в тарифах нет.