Most VPS shoppers focus on vCPU count and RAM — and skip past storage. That's a mistake for any workload that hits disk: databases, log-heavy apps, image processing, or anything with a working set larger than RAM. Storage tier is often the difference between a page that renders in 200 ms and one that renders in 2 s.
We ran fio, sysbench and real Postgres workloads across three VPS storage tiers on identical CPU (2 vCPU, 8 GB RAM). Here's what we saw.
The three tiers
- NVMe Gen4 — direct PCIe 4.0 attached (Hostiger, Vultr High Performance, DO newer regions)
- SATA SSD — SATA 3 attached, still-fast but bottlenecked by the 6 Gbps interface (older cloud providers' base tier)
- HDD — legacy spinning disk, still shipped by budget VPS resellers (Contabo Storage VPS, some resellers)
Sequential read (fio, bs=1M)
| Tier | MB/s | Relative |
|---|---|---|
| NVMe Gen4 | 4,200 | 1× |
| SATA SSD | 530 | 0.13× (7.9× slower) |
| HDD 7.2k | 150 | 0.036× (28× slower) |
Random 4k IOPS (fio, qd=32)
| Tier | Read IOPS | Write IOPS |
|---|---|---|
| NVMe Gen4 | 420,000 | 340,000 |
| SATA SSD | 85,000 | 68,000 |
| HDD 7.2k | 180 | 140 |
PostgreSQL — pgbench, 100 clients, read+write mix
| Tier | TPS |
|---|---|
| NVMe Gen4 | 18,400 |
| SATA SSD | 5,200 |
| HDD 7.2k | 210 |
What this means for your workload
Static site + light API: Any tier works. Latency is dominated by network and app-server round-trips, not disk.
WordPress + LiteSpeed cache: NVMe pays off dramatically. LSCache reads billions of small files — 4k random-read IOPS is the exact metric that matters. Going from SATA SSD to NVMe roughly halves p95 latency on a cache-cold visit.
Database-heavy app (Postgres/MySQL): NVMe is a hard requirement above ~50 QPS with any meaningful working set. SATA SSD collapses under concurrent writes because the interface tops out at ~550 MB/s.
Video/image processing: Sequential throughput matters. NVMe is 8× faster than SATA SSD here.
Hostiger's storage tier
Every Hostiger VPS uses NVMe Gen4 — not just the top plans. The reasoning: budget VPS providers slap a "NVMe" label on their high-tier only, then hide SATA SSDs behind the "Regular Cloud Compute" wording on the base plan. Hostiger doesn't do that. Even the $15/mo Basic tier gets the same NVMe Gen4 pool.