NVMe vs SATA SSD vs HDD: What the Difference Means for Hosting

How the three storage types differ in latency and IOPS, why a website's workload favours NVMe by a wide margin, and when the difference is not worth paying for.

Published
Reading time
3 min

"SSD hosting" stopped being a differentiator years ago; now the question is which kind. The three storage technologies in datacenters today differ by factors of ten to a thousand on the numbers that matter for a website, and the spec-sheet word "SSD" hides which one you are getting.

The three technologies

HDD — spinning magnetic platters read by a moving arm. Every random read waits for the platter to rotate and the arm to seek: 5–10 milliseconds. Capacity is cheap (20 TB drives exist), which is why HDDs still run backups and archives.

SATA SSD — flash memory behind the same SATA interface designed for hard drives in 2003. No moving parts, so a random read takes about 0.1 ms, but the interface caps throughput at roughly 550 MB/s and handles one command queue of 32 operations.

NVMe SSD — flash memory connected directly to the CPU over PCIe, with a protocol (NVMe) designed for flash rather than inherited from disks. Latency around 0.02 ms, throughput of 3,000–7,000 MB/s, and 64,000 queues of 64,000 commands each — built for many things happening at once.

The numbers

HDD SATA SSD NVMe SSD
Random read latency 5–10 ms ~0.1 ms ~0.02 ms
Random 4K IOPS ~150 ~90,000 ~700,000+
Sequential read ~200 MB/s ~550 MB/s 3,000–7,000 MB/s
Cost per TB lowest mid highest

The throughput row is the one people quote, and it is the least relevant. Websites do not stream large files; they do thousands of tiny reads.

Why a website is the worst case for slow storage

Loading one WordPress page touches, roughly: 200 PHP files (cached by OPcache after the first hit, but still checked), 20–50 database queries each reading a few index and data pages, session and transient reads, and log writes. Each is a small random access. Multiply by concurrent visitors and a busy site issues thousands of random reads per second.

At 150 IOPS, an HDD serves one visitor's page load in a queue behind everyone else's. At 90,000, SATA SSD makes the disk stop being the bottleneck for most sites. At 700,000 with 5× lower latency, NVMe makes the disk effectively invisible — the database's query time becomes CPU and memory, not I/O.

You feel it most in three places:

  • Database-heavy pages — search results, WooCommerce category pages with filters, admin dashboards.
  • Uncached traffic spikes — when a page cache is cold, every request hits disk at once.
  • Backups and migrations — copying a 20 GB site is minutes on NVMe, an hour on HDD.

Measure it yourself

On any Linux server, fio shows random-read IOPS in about a minute:

bash
sudo apt install fio -y
fio --name=randread --ioengine=libaio --rw=randread --bs=4k \
    --numjobs=4 --size=1G --runtime=30 --direct=1 --group_reporting

Look at the IOPS= figure. Under 1,000 is a disk or a badly oversold SSD; tens of thousands is SATA; hundreds of thousands is NVMe with headroom. On a VPS the number also reflects how many neighbours share the drive, which is exactly why it is worth running.

A quicker sanity check for latency:

bash
ioping -c 10 /var/www

Sub-0.1 ms is flash; multiple milliseconds is spinning disk or heavy contention.

When NVMe is not worth paying for

  • Static sites behind a CDN. Almost nothing reads the disk.
  • Archive and backup storage. Capacity matters, speed does not; HDD is the right tool, and it is what our offsite backup copies live on.
  • A site that is slow for other reasons. If PHP is on version 7.4 with no OPcache, NVMe will not rescue it. Fix the stack first; speed up WordPress on Plesk is the order to do it in.

For everything else — a database-backed site with real traffic — NVMe is the biggest single hardware upgrade available, and the price gap to SATA SSD has all but closed.

What "NVMe hosting" should mean

Ask the host two questions: is the site's data on NVMe, or only the OS? And is it a RAID array or a single drive? Data on a single NVMe drive is fast until it fails. Every VPSPioneer shared plan and managed VPS stores customer data on mirrored NVMe with daily backups to separate storage; see RAID levels explained for why the mirror matters.

#hardware#nvme#ssd#storage#performance

Keep reading

More from Hardware & Datacenter

All guides

Hardware & Datacenter

NVMe VPS vs SSD VPS: Does Storage Speed Really Matter?

What separates an NVMe VPS from a SATA SSD one, which workloads notice the difference, and how to measure your own server with fio, ioping and iostat.

6 min read →

Hardware & Datacenter

RAID Levels Explained: 0, 1, 5, 6 and 10 for Servers

What each RAID level does with your drives, how much capacity and failure tolerance you get, why hosting servers use RAID 10, and why RAID is not a backup.

3 min read →

Hardware & Datacenter

Inside a Server: CPU, RAM, Storage and NIC Explained

What each component in a hosting server does, how server parts differ from a desktop, and which spec-sheet numbers actually change site performance.

3 min read →