Were those single-threaded tests? Because I forgot to mention if I set off enough simultaneous uploads each one ends up at more or less the same speed until I saturate his end.
I've been trying to convince him to use a download manager for months so he can multi-thread downloads, but the bigger problem is me needing to send him stuff while he is busy and has just left his laptop on and doesn't involve trying to explain port forwarding and static IP addresses to him. This was easy using the same XMPP server we use to chat (my server as the proxy), but that can't be multi-threaded for a single file.
I was certainly curious if using a VPS nearer him as a proxy might help, but it seems not (tests to a VPS in Dallas, Texas):
Reverse mode, remote host zen is sending
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 437 KBytes 3.58 Mbits/sec
[ 4] 1.00-2.00 sec 443 KBytes 3.63 Mbits/sec
[ 4] 2.00-3.00 sec 475 KBytes 3.89 Mbits/sec
[ 4] 3.00-4.00 sec 525 KBytes 4.30 Mbits/sec
[ 4] 4.00-5.00 sec 555 KBytes 4.55 Mbits/sec
[ 4] 5.00-6.00 sec 613 KBytes 5.02 Mbits/sec
[ 4] 6.00-7.00 sec 664 KBytes 5.44 Mbits/sec
[ 4] 7.00-8.00 sec 761 KBytes 6.23 Mbits/sec
[ 4] 8.00-9.00 sec 745 KBytes 6.11 Mbits/sec
[ 4] 9.00-10.00 sec 814 KBytes 6.67 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 6.45 MBytes 5.41 Mbits/sec 8 sender
[ 4] 0.00-10.00 sec 6.02 MBytes 5.05 Mbits/sec receiver
Reverse mode, remote host zen6 is sending
[ 4] 0.00-1.00 sec 161 KBytes 1.32 Mbits/sec
[ 4] 1.00-2.00 sec 236 KBytes 1.93 Mbits/sec
[ 4] 2.00-3.00 sec 313 KBytes 2.57 Mbits/sec
[ 4] 3.00-4.00 sec 398 KBytes 3.26 Mbits/sec
[ 4] 4.00-5.00 sec 488 KBytes 4.00 Mbits/sec
[ 4] 5.00-6.00 sec 585 KBytes 4.79 Mbits/sec
[ 4] 6.00-7.00 sec 573 KBytes 4.69 Mbits/sec
[ 4] 7.00-8.00 sec 408 KBytes 3.34 Mbits/sec
[ 4] 8.00-9.01 sec 485 KBytes 3.95 Mbits/sec
[ 4] 9.01-10.00 sec 566 KBytes 4.67 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 4.29 MBytes 3.60 Mbits/sec 1 sender
[ 4] 0.00-10.00 sec 4.24 MBytes 3.56 Mbits/sec receiver
Reverse mode, remote host plusnet is sending
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.00 sec 402 KBytes 3.29 Mbits/sec
[ 4] 1.00-2.00 sec 498 KBytes 4.08 Mbits/sec
[ 4] 2.00-3.00 sec 591 KBytes 4.84 Mbits/sec
[ 4] 3.00-4.00 sec 695 KBytes 5.69 Mbits/sec
[ 4] 4.00-5.00 sec 800 KBytes 6.56 Mbits/sec
[ 4] 5.00-6.00 sec 886 KBytes 7.26 Mbits/sec
[ 4] 6.00-7.00 sec 991 KBytes 8.12 Mbits/sec
[ 4] 7.00-8.00 sec 1.08 MBytes 9.05 Mbits/sec
[ 4] 8.00-9.00 sec 1.16 MBytes 9.70 Mbits/sec
[ 4] 9.00-10.00 sec 1.25 MBytes 10.4 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 8.57 MBytes 7.19 Mbits/sec 3 sender
[ 4] 0.00-10.00 sec 8.48 MBytes 7.11 Mbits/sec receiver
Even from my UK VPS performance is rather sporadic:
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 4.73 MBytes 39.7 Mbits/sec 283 1020 KBytes
[ 4] 1.00-2.00 sec 6.25 MBytes 52.4 Mbits/sec 120 532 KBytes
[ 4] 2.00-3.00 sec 2.50 MBytes 21.0 Mbits/sec 0 567 KBytes
[ 4] 3.00-4.00 sec 6.25 MBytes 52.4 Mbits/sec 0 591 KBytes
[ 4] 4.00-5.00 sec 3.75 MBytes 31.5 Mbits/sec 28 440 KBytes
[ 4] 5.00-6.00 sec 3.75 MBytes 31.5 Mbits/sec 0 472 KBytes
[ 4] 6.00-7.00 sec 3.75 MBytes 31.5 Mbits/sec 0 492 KBytes
[ 4] 7.00-8.00 sec 5.00 MBytes 41.9 Mbits/sec 0 503 KBytes
[ 4] 8.00-9.00 sec 5.00 MBytes 42.0 Mbits/sec 0 506 KBytes
[ 4] 9.00-10.00 sec 3.75 MBytes 31.5 Mbits/sec 0 506 KBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-10.00 sec 44.7 MBytes 37.5 Mbits/sec 431 sender
[ 4] 0.00-10.00 sec 42.4 MBytes 35.6 Mbits/sec receiver