Why we moved everything to NVMe Gen4
When we launched GLOBALCLOUDHOSTING in 2020, our first hypervisors ran on NVMe Gen3. A year later, we migrated the entire fleet to Gen4. Here are the numbers behind that decision.
Methodology
All tests were run with fio 3.27 on freshly provisioned instances, queue depth 32, after a 60-second warm-up. Each figure is the average of 5 runs.
fio --name=randread --rw=randread --bs=4k --iodepth=32 --numjobs=4 \
--runtime=60 --time_based --group_reportingResults
| Test | NVMe Gen3 | NVMe Gen4 | Gain |
|---|---|---|---|
| Sequential read | 3,400 MB/s | 7,100 MB/s | +109% |
| 4k random read | 480k IOPS | 1,020k IOPS | +112% |
| p99 latency | 182 µs | 88 µs | -52% |
What it means in practice
A 40 GB PostgreSQL database completes a VACUUM FULL almost twice as fast. Docker images decompress in seconds. And above all, halved p99 latency is immediately felt on transactional applications.
Conclusion
Gen4 is not a marketing argument: on real workloads measured across our customer base, we observe 34% lower response times on average for identical applications. Every plan has shipped with it since June 2021, at no extra cost.