---
title: "NVMe vs SATA SSD vs HDD on a VPS: the difference that matters"
description: "How NVMe differs from SATA SSD and HDD: the PCIe bus vs SATA III, command queues, latency and IOPS. A comparison table and how to find out which disk your VPS has."
url: https://tihost.io/en/blog/nvme-vs-ssd
language: en
section: "Hardware"
published: 2026-10-05
updated: 2026-10-05
publisher: Tihost (https://tihost.io)
---

# NVMe vs SATA SSD vs HDD on a VPS: the difference that matters

> **In short:** NVMe is an SSD attached over the PCIe bus with the NVMe protocol: it is not capped by SATA III's limit of about 600 MB/s and handles up to 65,535 command queues instead of SATA's one. For a VPS running databases, websites and builds, the main advantage of NVMe is more IOPS and lower latency on small random operations, not sequential speed.

**Key takeaways:**

- An NVMe drive connects over the PCIe bus and with four lanes is capped at a theoretical ~8 GB/s on PCIe 4.0 and ~16 GB/s on PCIe 5.0, while a SATA SSD is limited by the SATA III interface at 6 Gbit/s - about 600 MB/s.
- The AHCI protocol used by SATA drives has one queue of 32 commands, while the NVMe specification allows up to 65,535 queues of 65,536 commands each, so NVMe handles parallel requests better.
- For databases, websites and builds, IOPS and latency on random 4 KB operations matter more than sequential speed: here NVMe beats SATA SSD, and HDD lags behind by orders of magnitude.
- A VPS disk type cannot be told from the device name - inside a virtual machine the disk shows up as `vda` or `sda`; measuring random reads with `fio` is more reliable.
- Every Tihost plan runs on NVMe: 40 to 450 GB of disk, from $4.00 a month.

## How does NVMe differ from SATA SSD and HDD?

NVMe and SATA SSDs are both solid-state drives built on flash memory; the difference is how they connect to the CPU. A SATA SSD uses the same SATA interface and AHCI protocol as hard disk drives (HDDs) and inherits their limits. NVMe (NVM Express) is a protocol designed specifically for flash: the drive connects directly to the PCIe bus. An HDD is a mechanical disk with spinning platters and a head that has to physically move to the data.

## Interface: PCIe vs SATA

SATA III carries up to 6 Gbit/s, which leaves about 600 MB/s after encoding overhead - the ceiling for any SATA SSD, however fast its flash. An NVMe drive usually takes four PCIe lanes, and the ceiling is set by the bus generation: about 4 GB/s on PCIe 3.0, about 8 GB/s on PCIe 4.0 and about 16 GB/s on PCIe 5.0. That is the theoretical link bandwidth; real drives fall short of it, but the gap with SATA is still several-fold.

## Command queues: AHCI vs NVMe

AHCI was designed for hard disks, which have one head and gain little from handling many requests in parallel: one queue 32 commands deep. The NVMe specification allows up to 65,535 I/O queues of 65,536 commands each, and every CPU core can work with its own queue without locking. On a server where a database, a web server and logs all write at once, this is what gives NVMe its edge under parallel load.

## Why do IOPS and latency matter more than MB/s on a server?

Most server workloads do not read and write large files end to end; they touch thousands of small pieces in random places on the disk. What decides speed here is IOPS - how many operations per second the disk sustains - and the latency of each operation, while sequential gigabytes per second barely show.

- **Databases** ([PostgreSQL](https://tihost.io/en/blog/postgresql-on-vps), MySQL) read index and table pages a few kilobytes at a time and wait for `fsync` on every transaction commit - disk latency adds directly to query time.
- **Builds and package managers** (`npm install`, compiling, `docker build`) create and read tens of thousands of small files.
- **Websites and CMSes** under load read files and write sessions, cache and logs at the same time - parallel small operations.
- **Backups, large file serving, video** - the rare case where sequential MB/s really matters.

## NVMe vs SATA SSD vs HDD compared

|  | HDD | SATA SSD | NVMe SSD |
| --- | --- | --- | --- |
| Medium | Spinning platters | Flash memory | Flash memory |
| Connection | SATA (or SAS) | SATA III, 6 Gbit/s | PCIe, usually 4 lanes |
| Protocol | AHCI (for SATA) | AHCI | NVMe |
| Command queues | 1 × 32 (SATA) | 1 × 32 | Up to 65,535 × 65,536 |
| Interface ceiling | Disk mechanics, not the interface | About 600 MB/s | ~4 / ~8 / ~16 GB/s on PCIe 3.0 / 4.0 / 5.0 |
| Random 4 KB operations, IOPS | Hundreds | Tens of thousands | Hundreds of thousands and more |
| Access latency | Milliseconds | Around a hundred microseconds | Tens of microseconds |
| Where it fits on a server | Archives and cold data | Sites and services without heavy writes | Databases, builds, busy websites |

*Typical orders of magnitude for individual drives, not measurements of any particular server. On a VPS the disk is virtual and shared with neighbours, so measure real numbers with fio.*

## Terms

**NVMe (NVM Express)** - A protocol for talking to flash storage over the PCIe bus: many parallel command queues and minimal overhead.

**AHCI** - The SATA controller protocol, designed for hard disks: one queue 32 commands deep.

**IOPS** - Input/output operations per second: how many individual read or write requests a disk sustains. Usually measured with 4 KB blocks.

**Latency** - The time from sending a request to the disk to getting the answer. Measured in milliseconds for HDDs and microseconds for SSDs.

**Queue depth** - How many disk requests have been sent and not yet completed. The more parallel requests a disk can hold, the higher its IOPS under load.

## How do you find out which disk your VPS has?

Inside a virtual machine you see a virtual device, not the physical drive: the disk is named `vda` or `sda`, and the `ROTA` flag in `lsblk` (1 - rotational, 0 - not) depends on how the hypervisor describes it and may show 1 even on NVMe. It is more reliable to measure how the disk behaves: latency on single requests and IOPS with a queue.

```bash
lsblk -d -o name,rota,size
sudo apt install -y fio
cd ~
# latency: random 4 KB reads, one request at a time
fio --name=lat --filename=fio-test --size=1G --direct=1 --ioengine=libaio --rw=randread --bs=4k --iodepth=1 --runtime=30 --time_based
# IOPS: the same with a queue of 64 requests
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
```

In the `fio` output, look at `IOPS=` and the average `clat` latency: hundreds of IOPS and milliseconds of latency mean an HDD; tens or hundreds of thousands of IOPS at tens to hundreds of microseconds mean an SSD. Keep in mind that a provider may cap IOPS per virtual disk. The full set of CPU, disk and network tests is in [How to benchmark a VPS](https://tihost.io/en/blog/vps-benchmark).

## PCIe 4.0 and PCIe 5.0 on Tihost platforms

The PCIe generation is set by the platform: the AMD Ryzen 9 5950X (Germany, Finland) supports PCIe 4.0, the Ryzen 9 9950X (Poland) supports PCIe 5.0. These are CPU capabilities, not specifications of particular drives; more on the differences in [Ryzen 9 5950X vs 9950X](https://tihost.io/en/blog/amd-ryzen-9-5950x-vs-9950x).

|  | AMD Ryzen 9 5950X | AMD Ryzen 9 9950X |
| --- | --- | --- |
| Architecture | Zen 3 | Zen 5 |
| Cores / threads | 16 / 32 | 16 / 32 |
| Base clock | 3.4 GHz | 4.3 GHz |
| Boost clock | 4.9 GHz | 5.7 GHz |
| L3 cache | 64 MB | 64 MB |
| TDP | 105 W | 170 W |
| Process | 7 nm | 4 nm |
| Memory | DDR4 | DDR5 |
| PCIe | PCIe 4.0 | PCIe 5.0 |
| Released | 2020-11 | 2024-08 |
| Used in | Germany, Finland | Poland |

## NVMe in every Tihost plan

Every Tihost configuration has an NVMe disk, 40 to 450 GB depending on the plan; there are no HDD or SATA SSD plans. A server is deployed in about 2 minutes after payment, and inside is KVM with full root access, so you can check the disk with `fio` right away. What else every server includes is covered in [Tihost VPS features](https://tihost.io/en/blog/vps-features).

| Line | Configuration | Germany | Finland | Poland |
| --- | --- | --- | --- | --- |
| 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 |

*Price per 30 days, USD. A dash means the configuration is not sold in that location.*

**Launch a server in 2 minutes.** AMD Ryzen 9, NVMe and DDoS protection in Germany, Finland and Poland. Pay with crypto or card. [Order a Server](https://tihost.io/login)

## FAQ

### Which is faster for a server: NVMe or SATA SSD?

NVMe: it connects over PCIe without SATA III's ceiling of about 600 MB/s, holds up to 65,535 command queues instead of one and has lower latency. The difference shows most on databases and other small random operations.

### Is NVMe an SSD too?

Yes. NVMe SSDs and SATA SSDs are both flash-based solid-state drives; NVMe refers to the protocol and the PCIe connection instead of SATA. When people say NVMe vs SSD, they usually compare an NVMe SSD with a SATA SSD.

### How much faster is NVMe than SATA SSD?

In sequential speed a SATA SSD tops out at about 600 MB/s, while NVMe on PCIe 4.0 and 5.0 reaches gigabytes per second. On random 4 KB operations NVMe delivers more IOPS at lower latency; on a VPS the result also depends on the provider's limits.

### Does a VPS need NVMe?

For databases, online stores, CMSes and project builds, yes: their speed is bound by disk IOPS and latency. For a VPN, a proxy or a simple bot the disk barely matters, though NVMe still speeds up package installs and updates.

### How can I tell which disk my VPS runs on?

The device name (`vda`, `sda`) and the `ROTA` flag in `lsblk` say little inside a virtual machine. Measure random 4 KB reads with `fio`: NVMe gives tens to hundreds of thousands of IOPS with microsecond latency, an HDD gives hundreds of IOPS and milliseconds.

### What disks do Tihost VPSes use?

Every Tihost plan uses NVMe, 40 to 450 GB depending on the configuration, from $4.00 a month. There are no HDD or SATA SSD plans.

---

Updated 2026-10-05 · https://tihost.io/en/blog/nvme-vs-ssd
