Why the NVMe label means nothing
You'll see "NVMe SSD storage" plastered across every VPS sales page now. The problem? Most hosts still hand you a SATA SSD and hope you won't check. Marketing teams copy-paste the buzzword because NVMe sounds faster, but the hypervisor is often carving slices from a RAID array of aging SATA drives.
Real NVMe uses the PCIe bus and delivers 3-7× the IOPS of SATA. That gap matters when you're running databases, handling WordPress media libraries, or compiling code. A single NVMe drive can push 600,000+ random read IOPS; a good SATA SSD tops out around 90,000.
In support tickets I've handled over the past two years, the usual complaint is "my VPS feels slow under load" even though the CPU graph looks fine. Disk I/O wait is the silent killer. Let's figure out who's selling the real thing.
How to verify your VPS disk hardware
Before you trust the sales page, SSH into your server and run a few commands.
Check the device type
lsblk -d -o NAME,ROTA,DISC-GRAN
If ROTA is 0, the disk is solid-state. If DISC-GRAN shows a non-zero discard granularity, TRIM is working. That's step one.
Next, inspect the disk model:
sudo smartctl -a /dev/sda | grep -E "Model|SATA Version|NVMe Version"
SATA drives will report a SATA version string. NVMe drives will say "NVMe Version" and often show a model name like Samsung PM9A3 or Intel P4510. If smartctl isn't installed, use lsscsi or nvme list.
Run a quick IOPS test
Install fio and measure random 4K read performance:
sudo fio --name=randread --ioengine=libaio --iodepth=16 --rw=randread \
--bs=4k --direct=1 --size=1G --numjobs=4 --runtime=30 --group_reporting
NVMe will push 100,000+ IOPS on a decent consumer drive. SATA tops out around 20,000-30,000 in the same test. If you're seeing 8,000 IOPS, you're probably on spinning rust pretending to be an SSD.
Watch I/O latency under load
Run iostat -x 1 while the fio test is active. Look at the await column. NVMe latency sits under 1ms for random reads. SATA hovers around 3-5ms. Anything above 10ms is a red flag—either the disk is SATA or the storage backend is oversubscribed.
Seven providers that actually provision NVMe
These hosts either publish block device details in their documentation or consistently show up in user benchmarks with real NVMe IOPS numbers. I'm skipping anyone who won't let you run lsblk or smartctl without a fight.
Vultr
Vultr's High Frequency instances ship with NVMe. Their standard Compute instances are still SATA SSD. Check the plan name before you order. The High Frequency label is the tell.
When you provision one, lsblk will show /dev/vda (virtio block device), and fio tests land in the 150,000-200,000 IOPS range for random 4K reads. The performance delta is obvious if you compare it side-by-side with their standard tier.
DigitalOcean Premium Intel and AMD
DigitalOcean's Premium Intel and Premium AMD Droplets run on NVMe. Their Basic and General Purpose tiers use SATA. The pricing difference is small enough that most people pick Premium by default now.
You won't find the disk model in the control panel, but smartctl will confirm NVMe inside the VM. I've seen consistent 4K random read numbers above 120,000 IOPS on their Premium plans in SFO3 and NYC3 datacenters.
Linode (Akamai)
Linode switched all their Shared CPU instances to NVMe in late 2023. Dedicated CPU instances have been NVMe since 2021. If you're on an older Linode that predates the migration, open a support ticket and ask them to move you to a newer host.
Their block storage add-ons are still SATA, so don't expect NVMe speed from attached volumes. The root disk is where the NVMe lives.
Hetzner Cloud
Hetzner's Cloud instances use local NVMe for the root disk. Their pricing is aggressive, especially in Europe. The catch is network egress fees if you push serious bandwidth, but the disk performance is legitimate.
Run nvme list and you'll see actual NVMe namespaces. Benchmarks put their random 4K reads around 100,000 IOPS for a mid-tier instance. The CPX line (shared CPU) and CCX line (dedicated CPU) both provision NVMe.
OVHcloud Public Cloud
OVHcloud's Public Cloud instances (not their old VPS Classic line) provision NVMe for the local disk. Their VPS line is still a mix of SATA and NVMe depending on the datacenter, so read the technical specs page before you order.
Their documentation explicitly lists NVMe for instances in the B2, C2, and R2 series. If you're unsure, spin up a trial instance and check lsblk before committing.
Contabo
Contabo started rolling out NVMe to their VPS M, L, and XL plans in 2024. The older SSD plans are SATA. The product page will say "NVMe SSD" if the plan includes it; if it just says "SSD," assume SATA.
Their NVMe performance isn't as fast as Vultr or Hetzner—expect around 60,000-80,000 random 4K IOPS—but the price-per-GB is hard to beat. For archival or low-traffic WordPress sites, it's a solid budget option.
Kamatera
Kamatera lets you pick disk type at provisioning: HDD, SSD, or NVMe. If you don't explicitly select NVMe, you're getting SATA SSD by default. The configurator is transparent about it, which is rare.
Their NVMe tier costs a bit more per GB, but the IOPS difference is real. I've tested their NVMe instances in the US East datacenter and saw consistent 130,000+ IOPS on random 4K reads.
What about the "enterprise NVMe" claims?
Some hosts advertise "enterprise-grade NVMe" as a premium feature. The phrase usually means one of two things: either they're using datacenter NVMe drives with higher endurance ratings (like Intel Optane or Samsung PM series), or they're selling you the same consumer NVMe as everyone else and charging more.
Enterprise NVMe matters if you're hammering the disk with heavy write workloads—database servers, logging pipelines, build farms. For a typical web app, the performance gap between a Samsung 980 Pro and an Intel P5520 is negligible. Check the drive endurance rating (DWPD—drive writes per day) if you care about longevity under write load.
So what if the sales page lies?
If you ordered NVMe and the benchmarks prove you're on SATA, open a support ticket. Most hosts will either migrate you to the correct storage tier or refund the difference.
I've seen this play out with a few smaller providers who oversold "NVMe" plans and couldn't deliver. They quietly moved customers to SATA and hoped nobody would notice. When called out, they blamed "temporary hardware constraints" and offered credit.
Don't accept excuses. If the product page says NVMe, you're entitled to NVMe. Run the tests above and cite the IOPS numbers in your ticket.
Why some hosts still use SATA
SATA SSDs are cheaper per terabyte and easier to slot into existing RAID arrays. For hosts managing thousands of VMs, the capex difference between SATA and NVMe is significant. If the customer workload is light—static sites, mail servers, DNS—the performance gap doesn't justify the cost.
The problem is when marketing slaps "SSD-powered" on the homepage without clarifying SATA versus NVMe. Technically they're not lying—SATA SSDs are still SSDs—but the implication is misleading.
Does NVMe actually matter for your workload?
If you're hosting a WordPress blog with 5,000 monthly visitors, probably not. Page cache and object cache do most of the heavy lifting. Disk I/O is a fraction of a second per request.
But if you're running a database-heavy app, compiling code, processing logs, or handling media uploads, the IOPS difference is night-and-day. Anything that writes a lot of small files or does random reads will benefit.
Check your current disk wait times with iostat -x 1 during peak load. If %iowait is above 10%, faster storage will help. If it's under 5%, you're CPU or network bound and NVMe won't move the needle.
When to skip NVMe and save money
Static file hosting, reverse proxies, DNS servers, and monitoring agents don't need NVMe. Save the extra cost per GB and put it toward more RAM or bandwidth.
Same goes for staging environments and dev boxes. Unless you're benchmarking disk performance specifically, SATA SSD is fast enough for git pull and npm install.
What about NVMe-backed block storage?
Some providers offer NVMe for attached volumes, not just root disks. DigitalOcean's block storage is SATA. Linode's is SATA. Vultr offers NVMe block storage as a separate product line at a premium.
If you're attaching extra disks for databases or media, confirm whether the block storage tier is NVMe or SATA. The control panel usually specifies, but double-check with lsblk after you mount the volume.
Watch out for burstable IOPS
Some hosts provision NVMe but throttle IOPS after you exceed a burst quota. AWS does this with gp3 volumes—baseline IOPS is 3,000, and you pay extra for more.
On a bare-metal or dedicated VPS, you get the full IOPS of the physical drive. On a virtualized platform, the hypervisor may enforce IOPS limits per tenant. Read the fine print before you assume "NVMe" means unlimited performance.
What to check before you order
Look for the word "NVMe" in the plan specifications, not just "SSD." If the sales page is vague, ask support directly which disk type the plan uses. Reputable hosts will answer.
Once provisioned, run the verification commands above within the first hour. Most providers have a short refund window if the hardware doesn't match the sales pitch.
Finally, benchmark your actual workload. Synthetic IOPS tests tell you the ceiling, but your app's performance is what counts. If the site feels fast and iostat shows low disk wait, you're good. If not, the disk might be real NVMe but the host is oversubscribed.
