NVMe vs SSD vs HDD: разница на практике
Диск — частое узкое место сервера. База тормозит, сайт долго отдаёт первый байт, бэкап разворачивается вечность. Разберём три типа накопителей, чем они отличаются на цифрах и почему NVMe выигрывает.
Содержание
Три типа дисков коротко
['HDD — механический жёсткий диск с вращающимися пластинами и головкой. Дёшев за терабайт, но медленный: головке нужно физически доехать до нужного места. SATA SSD — твердотельный накопитель без движущихся частей, подключён по старому интерфейсу SATA. NVMe — тоже твердотельный, но подключён напрямую по шине PCIe, минуя ограничения SATA.', '- HDD: ~100–200 IOPS, задержка миллисекунды, интерфейс SATA.
- SATA SSD: десятки тысяч IOPS, потолок интерфейса ~550 МБ/с.
- NVMe: сотни тысяч IOPS, скорость гигабайты в секунду, задержка десятки микросекунд.
Нужен сервер под эту задачу?
Разверните 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)\nsudo apt install -y fio\nfio --name=randread --ioengine=libaio --rw=randread \\\n --bs=4k --numjobs=1 --iodepth=32 --size=1G \\\n --runtime=30 --time_based --direct=1']
Как узнать тип диска на своём VPS
['Не всегда провайдер честно указывает NVMe. Проверьте сами. Колонка ROTA (rotational) равна 1 для механики и 0 для SSD/NVMe:', "lsblk -d -o NAME,ROTA,SIZE,TYPE,MODEL\n# NVMe-диски видны как /dev/nvme0n1\nls /dev/nvme* 2>/dev/null && echo 'NVMe присутствует'\nnvme 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 занимают пару минут.
Нужен сервер под эту задачу?
Разверните VPS MAATRIX за пару минут: NVMe, AMD EPYC, root-доступ, локации UK и США. Оплата картой РФ и по СБП.
Арендовать VPS на NVMeЧастые вопросы
Насколько 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.