Calculating network data transfer speeds

Being in the business of selling data-management products, we're often asked how long it takes to transmit x-Gigabytes of data to a remote sites and other similar 'how long is a piece of string' questions. The answer can always be obtained providing you're armed with some knowledge of units of data, and can translate between bits and bytes.

First some basic units of conversion to get you started;

8 bits = 1 byte
1024 bytes = 1 Kilobyte (KB)
1024 Kilobytes = 1 Megabyte (MB)
1024 Megabytes = 1 Gigabyte (GB)
1024 Gigabytes = 1 Terabyte (TB)

The factors to be considered with these kinds of question are;

  • Speed of the line (bandwidth) available between the two points
  • Maximum amount of data the customer thinks he would need to move/copy (e.g. how much data changes on a busy day)
  • Acceptable period of time this might be allowed to take (ie overnight, or every 4 hours)

In theory, the following line speeds should provide a max possible throughput as follows;

Line Speed per second
per minute
per hour
1Mbit (old-school ADSL) 100 K/sec 6 MB/minute 360 MB/hour
2Mbit (slower ADSL) 200 K/sec 12 MB/minute 720 MB/hour
4Mbit (faster ADSL) 400 K/sec 24 MB/minute 1.1 GB/hour
10Mbit (ADSL / Cable) 1 MB/sec 60 MB/minute 2.8 GB/hour
100Mbit (Fast Ethernet LAN) 10 MB/sec 600 MB/minute 28 GB/hour
1000Mbit (Gigabit Ethernet LAN) 100 MB/sec 6 GB/minute 280 GB/hour

However, as anyone paying attention and using 100Mbit ethernet will find, when they copy a file from a server, the maximum speed they'll get will be around 8 MB/second and not 10 as the theory states above. There are lots of factors that mean that these speeds will not be achieved in a real-world implementation. Some examples below (in no particular order) including those specific to PresSTORE:

  • Network latency (time taken for packet to travel through all the routers between A and B)
  • Network protocol overhead (http in the case of Archiware P5)
  • Overhead for calculating what has changed (by P5)
  • Number of files to be copied
  • Other network traffic on same connection
  • The 'real' speed of the provided network connection (eg ADSL is shared (contended) between many users

Also bear in mind that if site-A has 1Mbit upload speed and site-B has 10Mbit download, the speed of transferring from A to B will be, at best, 1Mbit. The transfer will run at the speed of the slowest site. ADSL and Cable connections have slower upload than download speeds (the A in ADSL is for asymmetric).

If you want to measure the bandwith of your connection, speedtest.net is a good place to start. This tests the bandwidth, up and down, between you and one of speedtest's servers.

That doesn't tell the whole story though. E.g. if the server you're trying to get to is being slow, it might be that it is on a poor connection while your own connection is fine. dotcom-tools.com provide a nice set of tools to test things like this, so don your detective hat and troubleshoot like a pro