0

I have 1 Gbits down/up fiber, and I run Filezilla FTP server (I'm in Sweden) and a person in the USA needs to download from me. He has 60/8 internet so he should be able to download about 7.5MBsec but only gets 350KB sec. He can upload 1MBsec to me.

The latency is about 155ms and I have:

CMD: netsh interface tcp set global congestionprovider=ctcp

...and FileZilla xml config:

Socket recv buffer size 4194304 Socket send buffer size 1162500

With 1162500 the TCP throughput should be about 60Mbit with 155ms, but it doesn't work.

Anyone know what the problem could be?

Nathan Osman
  • 2,725
  • 7
  • 32
  • 46
Patrik Fröhler
  • 123
  • 1
  • 2

1 Answers1

1

Let's see, it could be:

  1. Cheap hardware or poorly implemented drivers
  2. Rate throttling at a peering point between you (I don't think I'd want a single host pushing 60Mb through my network unless I had a decent idea of their need for it)
  3. Poor TCP sliding window negotiaton on your long fat pipe. To name three easy guesses.

RTT generally dominates the window negotiation so I'd guess that 155ms plus his asymmetry is causing him to ask you to slow it down. Since you're a fileserver I'd move it off of TCP entirely, you don't really need guaranteed sequential delivery, do you?

Or post a dump and I'm sure one of us would be amused enough to take a look at it for you.

@Michael Hampton is actually right, you could increase your send buffer (to something on the order of 2^26 I suppose) and ignore his requests for window changes but that's kind of obnoxious and isn't guaranteed to not cause you more trouble on the transatlantic haul...we might have to get Stevens back from the dead to draw some pictures.

Go UDP, or at least something that's been actively developed in the last decade or two (SPDY comes to mind).

quadruplebucky
  • 5,139
  • 20
  • 23