Ceiça De Maria
Ceiça De Maria

Reputation: 51

Is there any way to increase the upload speed of Google Compute Engine?

I'm setting up a Plex server on my Google Cloud Platform instance, but media files are stalling since the Google Cloud upload rate does not exceed the 10 mbps mark. I live in Timon, Maranhão and the nearest Google server is in São Paulo in Brazil, the download rate reaches 1Gbps and the lenght is 60ms, plus the upload is only 10mbps .. Using the Speedtest.net site for the speed test. Could someone help me to improve the upload speed?

Upvotes: 5

Views: 5896

Answers (3)

Orville
Orville

Reputation: 557

For future readers:

Alternatively, you can upload files in google storage. Then ssh to the server and download the file gcloud storage cp gs://BUCKET_NAME/OBJECT_NAME SAVE_TO_LOCATION

Optionally, you can zip those files before uploading to google cloud storage

gcloud storage CLI: https://cloud.google.com/storage/docs/downloading-objects#cli-download-object

Upvotes: 3

Rick Jones
Rick Jones

Reputation: 234

One of the (many) limits to the performance of a TCP connection is:

Throughput <= WindowSize / RoundTripTime

So it is possible that the window size your local system and the instance in GCP will provide in the upload direction needs to be increased to accommodate the round-trip-time between the two. What do you see for the RoundTripTime? For example, if you "ping" your instance from your local system what does it say about the round-trip-time?

Also, it is not enough for the receiver to advertise that much window, the sender must be willing/able to send that much. So, both sides may need to be tweaked.

Further, there has been a change in the computation of the per-VM network egress cap since Raul's answer. It is still computed as 2 Gbit/s multiplied by the number of vCPUs in the instance, but the upper bound (if you specify Skylake or better for the CPU family) is now 32 Gbit/s, and there is now a lower bound of 10 Gbit/s for instances with 2 or more vCPUs. That cap is applied to the VM as as whole. As before, those are "guaranteed not to exceed" not "guaranteed to achieve."

Upvotes: 1

Raul Bautista
Raul Bautista

Reputation: 129

I think that the limitation is not on Google side since Google Cloud Platform does not impose bandwidth caps for ingress traffic, the amount of ingress traffic a GCE instance can handle, depends on the machine type and operating system.

On the other hand, the outbound or egress traffic from a virtual machine is subject to maximum network egress throughput caps. These caps are dependent on the number of vCPUs that a virtual machine instance has. Each core is subject to a 2 Gbits/second (Gbps) cap for peak performance. Each additional core increases the network cap, up to a theoretical maximum of 16 Gbps for each virtual machine.

You can see this yourself by setting up a bunch of instance types, and logging their IPerf performance. As @John Hanley states Google does not have any guarantees for performance via the Internet, since upload speeds can vary based on a number of conditions, including the ISP that is using from on-premises.

Upvotes: 1

Related Questions