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

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 →

WordPress

How to Speed Up WordPress on Plesk in 20 Minutes

Six changes that make WordPress on Plesk noticeably faster — PHP-FPM, OPcache, Nginx caching, WebP images, database cleanup and a CDN — with exact settings.

3 min read →

Security

How to Install Fail2ban and Stop Brute-Force Attacks

Install Fail2ban, understand jails and bantime, protect SSH, Plesk, Nginx and WordPress logins, whitelist your own IP and read what it has banned.

3 min read →