What is an NVMe SSD? How it differs from a SATA SSD, and why it matters
"NVMe SSD" has become standard text on hosting pages, but what it means is rarely explained. The difference is real and decisive on some workloads — and on others it does not matter at all.
The difference is in the interface, not the cell
SATA SSDs and NVMe SSDs use the same kind of flash memory. The difference is in how that memory is reached:
- SATA is an old interface designed for hard disks. One queue, 32 commands in the queue.
- NVMe talks directly over PCI Express. Up to 64,000 queues, 64,000 commands in each queue.
| SATA SSD | NVMe SSD | |
|---|---|---|
| Sequential read | ~550 MB/s | 3,000-7,000 MB/s |
| Random read (4K) | ~90,000 IOPS | 500,000+ IOPS |
| Latency | ~100 µs | ~20 µs |
| Concurrent queues | 1 × 32 | 64,000 × 64,000 |
Which number matters?
Marketing puts the "MB/s" figure front and centre, but what decides on server workloads is IOPS and latency. The reason is this: a database does not read large files from start to finish; it makes thousands of small, scattered reads.
- Where sequential speed matters: large file backups, video processing, the initial installation of server files
- Where IOPS and latency matter: MySQL/MSSQL queries, game world saves, chunk writes, applications that read large numbers of small files
Game servers and web applications are in the second group. That is why the benefit of NVMe is not "3 times faster" but several times better in query latency.
Concrete effects
MySQL query latency. A query that does not fit in the buffer pool goes to disk. On SATA that trip is ~100 µs, on NVMe ~20 µs. On a roleplay server making thousands of queries per second at peak hour, the total difference turns into the stuttering the player sees.
World saves. Minecraft chunk writes, the Rust and Project Zomboid save cycles, Satisfactory's autosave — all of them stop the game loop briefly while writing. If the disk is fast, that pause goes unnoticed. How much resource each game's save cycle needs is compiled per game: game server plans
Start-up time. On the first boot of a FiveM server with a large stream folder, thousands of assets are indexed; NVMe shortens this noticeably.
Where does it make no difference?
- Static sites (the content is already in RAM or on a CDN)
- Low-traffic panels
- Small services running scheduled jobs
On these workloads you cannot measure the difference between a SATA SSD and NVMe.
Measuring it on your own server
Measure random reads, not sequential speed:
fio --name=rand --ioengine=libaio --rw=randread \
--bs=4k --numjobs=4 --size=1G --runtime=30 \
--time_based --direct=1 --group_reportingTo watch the real load while it runs:
iostat -x 1If the await column climbs into milliseconds, the bottleneck is storage — and at that point adding CPU or RAM fixes nothing.
How this works at Datafex
Every virtual server and dedicated server plan uses NVMe SSD; there is no SATA option. Storage growth can be requested from the panel; shrinking is not supported, to avoid the risk of data loss.
Related reading
- How many vCPUs and how much RAM does a server need? — resource planning including storage
- MySQL performance tuning — where to look before the disk