Either way, I use both GCP and AWS but I am finding that I'm spending less on GCP. I don't believe every workload will be cheaper in GCP, but it is clearly competitive at least.
- What OS image(s) were used? This would aid in reproducibility.
- What tool was used for benchmarking? Preferably with the configuration so I could reproduce it.
- What GCE instance is used? I assume you will bottleneck on something other than I/O if comparing a very small GCE instance to a very large AWS instance.
I will probably benchmark this on my own at some point now that my interest is piqued, but if you have already done the work to benchmark this I'd love to hear more. So far though it's too vague for me to use meaningfully. Is there a blog post or other material that is publicly accessible? I've Googled for such before but come up surprisingly empty handed.
> dd if=/dev/zero of=/dev/disk/by-id/google-local-ssd-0 bs=8192
> 63356186624 bytes (63 GB, 59 GiB) copied, 36.6496 s, 1.7 GB/s
> dd of=/dev/zero if=/dev/disk/by-id/google-local-ssd-0 bs=8192
> 63356186624 bytes (63 GB, 59 GiB) copied, 17.5434 s, 3.6 GB/s
...But I'm perplexed by why it cuts off at 64 GB.
On Amazon I couldn't figure out how to get decent speeds at all. Comparable to my Google Cloud box, I set up an i3.xlarge, which had 4 CPUs and 1 SSD. While the dd operation was working fine, it slowed down to a paltry 430 MB/s quickly and never recovered. I doubt this is the true sequential performance of the drive, so I gave up.
I would've attempted to do multiple SSD configurations, but those seemed even harder. mdadm-based RAIDs were clearly bottlenecking somewhere other than hardware, because they were slower than writing or reading directly.
tl;dr: It turns out these new-fangled NVMe instance store setups are too complicated for me to understand.
This isn't the case only on new-fangled NVMe devices...