What's new
  • SNBForums Code of Conduct

    SNBForums is a community for everyone, no matter what their level of experience.

    Please be tolerant and patient of others, especially newcomers. We are all here to share and learn!

    The rules are simple: Be patient, be nice, be helpful or be gone!

TCP Receive Buffer size and extremely slow transfer speeds

finack

New Around Here
Hi to all! This propably isn't just asuswrt / rt-n66u specific issue, but more likely issue with other router / nat setups too. Even though I am interested could this be fixed in router / NAT software?

So my setup is rather usual home network. All settings are very close to their defaults, mainly have disabled unnecessary forwarding features ( vpn etc... )

- 50Mbit/s downlink, 5Mbit/s uplink, cable modem bridged
- RT-N66U, AsusWRT / merlin, providing NAT & firewall
- Few laptops around, latest Macbook Air ( mid 2012 / OSX 10.0.4 )

Now my issue that I am getting very slow download speeds from certain services. Normally I get around to 5MB/s - 5.6MB/s for download.

For example with MB Air and ftp.funet.fi I am getting under 500KB/s. Server is provided by local academic backbone provider. Most propably they have optimized server for high performance networks.

I found out that lowering TCP receive buffer on client side restores download speed back to 5MB/s. My guess is that problem occurs only when having large TCP buffers on both server and client sides.

Could this bottleneck be with my router / NAT setup / wireless? Haven't yet solved this. Any educated guesses?

Secondly where would be best place to correct this issue? Most propably someone else will also have same problem. Altering just my laptop settings seems short sighted. Bugreport straight to Apple? :)

My test cases are luckily very simple. Funet even provides files for network speed testing.

~$ ncftpget ftp.funet.fi /tmp/ /dev/100Mnull
/tmp/100Mnull: 100.00 MB 324.57 kB/s ^C

~$ ncftpget -B 350000 ftp.funet.fi /tmp/ /dev/100Mnull
/tmp/100Mnull: 100.00 MB 5.67 MB/s

~$ sysctl kern.ipc.maxsockbuf net.inet.tcp.autorcvbufmax net.inet.tcp.autosndbufmax
kern.ipc.maxsockbuf: 4194304
net.inet.tcp.autorcvbufmax: 524288
net.inet.tcp.autosndbufmax: 524288

EDIT: Some TCP time/sequence graph from slow download: http://aijaa.com/pMjXBw
 
Last edited:

Latest threads

Support SNBForums w/ Amazon

If you'd like to support SNBForums, just use this link and buy anything on Amazon. Thanks!

Sign Up For SNBForums Daily Digest

Get an update of what's new every day delivered to your mailbox. Sign up here!
Back
Top