I've been working on a few data centre migration projects recently and a common question is "given x Mbps network throughput, how many gigs of data can we transfer per day?"  And, the same question in reverse, "what is the minimum bandwidth required to transmit a given a number of gigs of data?".  At this point, most people start scratching chins, scribbling notes and attacking their calculator.  However, there's a faster way!

The science bit...

I had a grown up help me with the maths, so I'll leave it as an exercise to the reader, but given:

Then, solving for 'n', you should find that:

So, given a sustained transfer rate of x Mbit per second, you could theoretically transfer x * 10.8 GB per day.  So, if my broadband connection is capable of a sustained transfer rate of 6Mbps, then I could theoretically download 64.8GB is a 24 hour period.

Or, if you wrangle the maths slightly differently, then you get:

In other words, given x GB of data, you would need a sustained transfer rate of x / 10.8Mbps to finish the transfer in a single day.  From there, its fairly trivial to estimate the impact of adjusting the transfer rate.

Real World

You'll notice that I've said "theoretically" quite a bit in the section above and stated "sustained" transfer rates.  As most of us know, in the real world, we're likely to lose a fair bit through network overheads.  In other words, a 10Mbps line does not provide a solid 10Mbps transfer rate in your FTP client!  This is due to various protocol overheads such as packet headers, TCP flow control, window scaling, etc.

However, in normal circumstances, TCP produces a reliable transfer rate of approximately 85% of the line speed.  Revisiting the math above, we can therefore estimate that our "magic number" is more like 9.

If someone asks you "how long will it take to transfer 70GB of data given a 4Mbps of dedicated bandwidth?", then you can quickly respond "a little under 2 days" because you could expect approximately 4 * 9 = 36GB of data per day.

Likewise, if someone asks "how much bandwidth must we dedicate to transfer 50GB of data if we start on Friday 7PM and we must finish by 7AM on Monday morning?".  Well, that's 2.5 days, so we know we need a transfer a minimum of  20GB per day.  Using our magic number, we can then say that to achieve this, we would need roughly 3Mbps dedicated bandwidth (20 / 9 = 2.22).