Test setup
| Route | Oregon, USA to Sydney, Australia, over a public cloud |
|---|---|
| Round trip | 139 ms |
| Path capacity | 11.8 Gbit/s |
| Packet loss | None, then 0.1%, 1% and 3%, added on the sending side |
| Compared with | Linux TCP CUBIC and BBR, eight parallel BBR streams, HTTP, UDT, Tsunami and scp, on the same hosts and path. TCP was tuned for this path. |
| Runs | Three runs per test. We show the median, with the fastest and slowest run beside it. |
| Streams | 20-second runs, memory to memory |
| Copies | 1 GiB and 10 GiB files, disk to disk, with a 5-minute limit and a 15-minute limit |
Throughput, Oregon to Sydney
Mbit/s of useful data. 20-second runs, median of three, with the slowest and fastest run under it.
| Added loss | Farwing | 8 × TCP BBR | TCP BBR | TCP CUBIC | vs 8× BBR | vs BBR |
|---|---|---|---|---|---|---|
| None | 11,498 10,837–11,536 | 10,828 10,816–10,992 | 4,152 4,036–4,179 | 3,249 3,054–3,707 | 1.0× | 2.7× |
| 0.1% | 11,431 11,408–11,442 | 9,945 9,740–9,958 | 1,776 1,672–1,824 | 12 7.3–15 | 1.1× | 6.4× |
| 1% | 11,274 11,206–11,351 | 8,993 7,853–9,285 | 1,403 1,040–1,573 | 1.5 1.4–2.1 | 1.2× | 8.0× |
| 3% | 11,015 10,493–11,352 | 8,028 7,556–8,275 | 491 25–1,263 | 0.6 0.5–0.7 | 1.3× | 22× |
Farwing ran with its default four lanes. 8 × TCP BBR is eight parallel BBR streams added together. The speed-ups are Farwing's median over the other tool's median, rounded down.
1 GiB copy, start of command to checked file
Same path as the throughput table, disk to disk. HTTP is a single TCP stream. UDT and Tsunami are UDP copy tools on the same hosts. Each run had a 5-minute limit to produce a complete, checked file.
| Added loss | Farwing | Farwing, first copy | HTTP | UDT | Tsunami | scp |
|---|---|---|---|---|---|---|
| None | 2.3 s 2.1–2.3 s | 16 s 14–17 s | 4.0 s 3.8–4.3 s | 23 s 22–24 s | 5.0 s 5.0–5.4 s | 82 s 80–96 s |
| 0.1% | 2.3 s 2.3–2.4 s | 62 s 52–73 s | stalled | 68 s 65–69 s | 91 s 54–92 s | stalled |
| 1% | 4.1 s 2.4–5.3 s | stalled | stalled | 266 s 265–277 s | stalled | stalled |
| 3% | 4.7 s 3.4–6.1 s | stalled | stalled | stalled | stalled | stalled |
"Farwing" is a repeat copy to a host Farwing has reached before. "Farwing, first copy" is a copy to a new host, timed from putting Farwing on that host to the checked file. Putting it there uses scp, which slows under loss like any TCP copy: where the first copy stalled, the time limit ran out before Farwing was on the host.
10 GiB copy
The same copy with a file ten times larger, and a 15-minute limit. scp and Tsunami were timed at 1 GiB only.
| Added loss | Farwing | HTTP | UDT |
|---|---|---|---|
| None | 9.0 s 8.8–9.1 s | 20 s 20–32 s | 191 s 190–206 s |
| 0.1% | 12 s 9.7–13 s | stalled | 681 s 670–681 s |
| 1% | 12 s 11–13 s | stalled | stalled |
| 3% | 13 s 12–14 s | stalled | stalled |
"stalled" means the median run did not produce a complete file inside the time limit. A range that ends in "stalled" means the slowest run did not finish. Once a run stalled, that tool's other runs at that loss level were skipped. A tool that stalled on the 1 GiB copy is shown as stalled for the 10 GiB copy at that loss level: the larger file would not finish inside the time limit.
farwing bench user@host --size 5G