Question

Droplet upload speed (minimum guaranteed)

Posted September 16, 2020 168 views
Deployment

Project to provide 24h/day livestreaming in Full HD if possible, to 10 to 200 users in paralel.
So if a user viewing FullHD uses ~5Mbps, I would need 1Gbps upload to serve 200 users in paralel.
Used this speed test for a digital ocean droplet and got only 31Mbps upload: http://speedtest-fra1.digitalocean.com/
And read on forums that the speed is shared between the droplets in the same node.

So there is no way to guarantee a minimum upload speed for a droplet?

Thinking of deploying multiple droplets, but need to have a min guaranteed upload speed to controll the costs.

These answers are provided by our Community. If you find them useful, show some love by clicking the heart. If you run into issues leave a comment, or add your own answer to help others.

×
1 answer

There are no specific guarantees of droplet upload and download speed, but each one is typically easily capable of pushing more than 2Gbps which is plenty.

When comparing download speeds such as doing a file test, you are not receiving the maximum possible speed.

This is because of Bandwidth Delay Product, basically it means that the maximum possible throughput is highly dependent on latency between two nodes.

So if both nodes have 1Gbps of available throughput and they are 1ms apart, you will receive 1Gbps of speed. However, as the latency, or distance, between the node increases, the theoretical maximum throughput decreases. This is why often CDNs are employed so that users can request files from the most geographically close location, as that will have the greatest impact on delivery speed.

Also the speed you receive will depend on the type of content you are requesting as well as how the packets are structured.

For video streaming it is really about understanding what is the controlled throughput rate that you need to sustainably maintain to ensure that enough data is sent that there is no skipping or lag.

As a rough guide you can attain HD playback without skipping with 5Mbps, while something like 4K is best served at 20-25Mbps of throughput.

Also because it is video it will depend on how data is sent and if it is buffered, if buffering is available, then more data can be sent if there is throughput available and it can be buffered on the end users system so that if the connection falls below a certain threshold for a period of time it won’t impact playback if there is buffering, which most modern players support as well.

In your above example you are correct that you need 5Mbps of throughput, but what you receive by doing a single file test isn’t showing you the maximum throughput available for a droplet, just the maximum that you yourself can achieve. So if you are a good representation of where your other users will be and you are receiving 31Mbps then that is plenty to stream video in HD. You can also go well past 1Gbps of throughput on a droplet so if you wanted to have 200 concurrent users streaming it wouldn’t be an issue as long as each one was geographically close enough and didn’t have more latency between them and the droplet so that they could sustain 5Mbps of throughput.

Submit an Answer