I'm trying to figure out how fast we can load data into Google Compute Engine instances from either a persistent disk or from Google Cloud Storage.
First, regarding the persistent disk: I made a 550 GB persistent disk and found that I could read from the disk simultaneously to six instances at a throughput of approximately 125 MB/s per instance (each instance was reading a different file, and I was careful to make sure the file was not already cached in RAM). This throughput was much higher than I expected-- from reading the documentation https://cloud.google.com/compute/docs/disks/ (specifically, the "Read throughput per GB") I was expecting a total throughput of 550 * 0.12 = 66 MB/s, yet total throughput for all the instances combined was over ten times higher, at about 6 * 125 MB/s = 750 MB/s.
Hence my questions are:
Why was the throughput on the persistent disk so much higher than I expected? Do the persistent disk throughput limits given in the documentation only apply to a single instance?
How well can I expect the throughput for a single persistent disk to scale if I have a hundred or more instances attached to that disk? Will I need to create duplicate persistent disks if I want to maintain a high throughput per instance?
Second, regarding loading data from Google Cloud Storage: Here I found I could read different files onto ten Compute Engine instances simultaneously at a rate of about 30-60 MB/s per instance.
So, for Cloud Storage, my question is: