TechCompare LogoTechCompare

How long does a 10 TB data migration to the cloud take? WAN latency and the TCP window trap

A 10 TB cloud migration over 10 GbE at 40 ms RTT takes 70 days with the default 64 KB TCP window, or 2 hours 13 minutes with window scaling. Check which regime your stack lands in before committing to a cutover date.

A 10 TB cloud migration over a 10 Gbps private link with 40 ms round-trip time (a typical same-continent cloud interconnect) takes about 70 days when the default 64 KB TCP window is in play. With RFC 1323 window scaling enabled, the same transfer drops to 2 hours 13 minutes. The 700x gap between those two numbers is why latency modeling matters for migration planning and why a naive size-over-speed calculator will set you up for a missed cutover.

By TechCompare · Updated

Transfer time
70d 15h 25m 15s
Window-limited to 13.1 Mbps
File size
10 TB
10000 GB
Link speed
10,000 Mbps
10 Gigabit Ethernet (10 Gbps)
Effective throughput
13.1 Mbps
at 40 ms RTT
Link utilized
0.13%
Bottleneck: TCP window

Calculator

Data Transfer Calculator

Configuration

Mbps

Latency & TCP window model

Window-limited to 13.1 Mbps

Model is on with 40 ms RTT (Same continent) and a 64 KB unscaled TCP receive window. Change the settings below to see how a different RTT or window affects the transfer.

ms

Coast-to-coast US, ~4000 km

KB

Window scaling lets the TCP window grow past the 64 KB limit (up to 1 GiB). Modern Windows, Linux, and macOS enable it by default, but older firewalls, load balancers, and legacy consumer routers silently strip the option, reintroducing the 64 KB cap at ~40+ ms RTT.

Estimated Transfer Time
70d 15h 25m 15s

Bandwidth-delay product limit

Link speed
10 Gbps
rated
Effective throughput
13.1 Mbps
capped by 64 KB window / 40 ms RTT
Link used
0.13%
of rated speed

The TCP window, not the link, is the bottleneck. Your 10 Gbps connection is delivering 0.13% of its rated speed because the receive window (64 KB) can't stay full long enough at 40 ms RTT. That's the bandwidth-delay product at work.

Speed Comparison

USB 2.0
1d 22h 17m 46s
480 Mbps
USB 4 / Thunderbolt 4
33m 20s
40 Gbps
Gigabit Ethernet
22h 13m 20s
1 Gbps
10 Gigabit Ethernet
2h 13m 20s
10 Gbps
Selected
WiFi 5 (ac)
2d 7h 33m 20s
400 Mbps
WiFi 7 (be)
4h 26m 40s
5 Gbps
SATA SSD
5h 3m 1s
4.4 Gbps
NVMe Gen4 SSD
23m 48s
56 Gbps

How this is calculated

The naive math (10 TB divided by 10 Gbps) gives 2 hours 13 minutes, and that is what most transfer calculators return. It is the number you'd see only if window scaling is negotiated and the link is otherwise idle. With the unscaled 64 KB window and 40 ms RTT the throughput ceiling is 64 KB / 0.04 s = 13.1 Mbps, which is 0.13% of the 10 Gbps link. Scaling opens the window up to 1 GiB, which pushes the ceiling past the link rate so the transfer runs at the full 10 Gbps. The planning question is which of those two regimes your stack actually lands in, and the answer depends on the OS, the transfer tool, and whether anything along the path strips the TCP options.

Verdict

A 10 TB cloud migration over a 10 Gbps private link at 40 ms round-trip time takes about 70 days 15 hours with the default unscaled 64 KB TCP window, or 2 hours 13 minutes once RFC 1323 window scaling is negotiated and the window can grow past the 12 MB the bandwidth-delay product demands. The 700x gap between those two regimes is the structural reason a naive size-divided-by-speed calculator is dangerous for migration planning: the 2 hours 13 minutes figure is correct only if window scaling is on, the link is idle, and nothing along the path strips the TCP options, whereas the 70-day figure is what you actually get when any of those conditions fails. The planning move is to validate the scaling regime with a small probe transfer before committing a cutover date, because the difference between 2 hours and 70 days is the difference between a routine migration and a missed deadline.

More WAN scenarios

100 GB over USB 3.0
A 100 GB transfer over USB 3.0 works out to exactly 2 minutes 40 seconds at the interface's 5 Gbps peak rate.
View details ➜
1 TB over USB 3.0
A 1 TB transfer over USB 3.0 works out to 26 minutes 40 seconds at the interface's 5 Gbps peak data rate.
View details ➜
4 GB over USB 2.0
A 4 GB transfer over USB 2.0 works out to 1 minute 6 seconds at the interface's 480 Mbps peak rate.
View details ➜

Frequently asked questions

How long does a 10 TB cloud migration really take?
It depends entirely on whether TCP window scaling is negotiated. Over 10 GbE at 40 ms RTT the default 64 KB window caps throughput at 13.1 Mbps, giving 70 days. With window scaling on the window grows past the 48 MB bandwidth-delay product and the transfer runs at the full 10 Gbps, giving 2 hours 13 minutes.
What is the bandwidth-delay product for 10 GbE at 40 ms?
10 Gbps times 0.04 s = 400 million bits, or about 48 MB. Your TCP window needs to be at least 48 MB to fill the link, which is 760x larger than the default 64 KB window. Window scaling makes that possible, but only if both endpoints and every middlebox negotiate it.
Should I use a physical transfer appliance for a 10 TB migration?
It depends on your latency. If your link is under 10 ms and window scaling is on, 10 TB over 10 GbE takes 2 hours and a network transfer wins. At 40 ms without scaling you're looking at 70 days, and a physical appliance shipped overnight (AWS Snowball, Azure Data Box) finishes faster despite the logistics overhead.
Does rsync or SMB Multichannel help with WAN migration throughput?
Both can, by opening parallel TCP streams that each carry their own window. Five parallel rsync streams over a 100 ms link effectively quintuple your window budget, which can recover most of the lost throughput without changing OS settings. SMB Multichannel does the same thing automatically when multiple connections are available.