NVMe vs SSD vs HDD is about how fast a server can read and write data. Every page view loads PHP files, reads database rows and writes logs and sessions, so storage speed shows up directly in load times. This guide explains the three storage types and how to measure what your server actually has.
Before you start
To run the tests below you need SSH root access to a Linux VPS or dedicated server. On shared hosting the storage is chosen by the host; MdmHost hosting uses NVMe storage.
The three storage types
- HDD (hard disk drive) – spinning platters and a moving head. Cheap per terabyte, but every random read waits for the disk to rotate, so latency is measured in milliseconds.
- SATA SSD – flash memory with no moving parts, connected through the SATA interface designed for hard drives. Much faster than HDD but capped at roughly 550–600 MB/s by SATA III.
- NVMe SSD – flash memory connected directly to PCIe lanes with a protocol built for flash, many parallel command queues and far lower latency.
Typical numbers compared
| Metric | HDD (7,200 rpm) | SATA SSD | NVMe SSD (PCIe 4.0) |
|---|---|---|---|
| Sequential read | ~150–250 MB/s | ~550 MB/s | ~5,000–7,000 MB/s |
| Random 4K IOPS | ~100–200 | ~50,000–100,000 | several hundred thousand or more |
| Latency | several ms | ~0.1 ms | tens of microseconds |
| Best use | Backups, archives, bulk storage | General workloads | Databases, busy websites, VMs |
These are typical ranges; exact figures depend on the model, firmware, RAID setup and how full the drive is.
Why random IOPS matter more than MB/s
Websites rarely read one big file. They read thousands of small files and database pages scattered across the disk. That is random I/O, measured in IOPS. A hard drive's IOPS are tiny compared with flash, which is why a database on HDD slows down sharply under load while NVMe stays responsive.
Enterprise vs consumer drives
Server SSDs are rated for endurance in DWPD (drive writes per day) or TBW (terabytes written), and often include power-loss protection so data in the drive cache is not lost in an outage. Consumer drives can be fast in short tests but slow down when their cache fills during sustained writes.
Check which disks your server has
- List block devices and whether they rotate (1 = HDD, 0 = SSD/NVMe):
lsblk -d -o NAME,SIZE,ROTA,MODEL - NVMe devices appear as
nvme0n1; SATA drives assda,sdb. On a VPS you will usually seevda, a virtual disk whose real type depends on the host.
Test disk speed with fio
- Install fio with
apt install fioordnf install fio. - Run a random 4K read/write test using a 1 GB test file in a directory you can delete afterwards:
fio --name=randrw --filename=/root/fio-test --size=1G --rw=randrw --bs=4k --iodepth=32 --ioengine=libaio --direct=1 --runtime=30 --time_based --group_reporting - Read the
IOPS=values for read and write, then remove the file withrm /root/fio-test.
Warning: Never point fio at a raw device such as /dev/nvme0n1 with a write test – it overwrites data. Always use a file path.
FAQ: NVMe vs SSD vs HDD
Is NVMe worth it for a small website?
Yes, if it costs little extra. Faster storage reduces time to first byte for uncached pages and speeds up the admin area, backups and searches.
Do HDDs still have a place on servers?
Yes, for backup targets and large archives where cost per terabyte matters more than latency.
Does RAID make HDDs as fast as SSDs?
RAID 10 increases throughput, but it cannot fix the high latency of each individual seek, so random I/O stays far behind flash.
