apf ver on iworx disables tcp_window_scaling

Just a note for other users… note that apf version coming with iworx disables tcp_window_scaling that may result in poor server performance for file downloads/uploads… This was removed on latest version of apf… anyway to workaround it you just need to edit /etc/apf/sysctl.rules and remove/comment the line that sets tcp_window_scaling to 0 (and manually set it to 1 to take immediate effect).

Hi nars,

Great find. For those interested, here’s some more information about window scaling:


http://packetlife.net/blog/2010/aug/4/tcp-windows-and-window-scaling/

I’m not fully sure if tcp window scalling is enabled by default on centos 5… but it is on centos 6 as well as tcp window autotune and from the tests I made it does a really huge difference for file transfers from/to far servers with some latency… I could get ~10MB/s file transfers between two 100mbps servers, one on US and one on EU, (with one single download thread/connection) impossible to get it with a 64k tcp window…

Btw Dan, sorry offtopic… but if you or someone from staff could please look at http://forums.interworx.com/showthread.php?t=3732 I think it’s a really important thing that should be looked at… not good losing logs and statistics for these…

I saw this in the comments for APF a while back and was puzzled. I cannot understand why windowing would ever be turned off unless there’s a known issue with how it’s implemented in linux (I’m not aware of such an issue) or for debugging. This would crush transfer performance.

Great tip. Now I wonder how long it’s been set like this? I’ve noticed slower download speeds than I should be getting on big files for a while now.

Just did a quick test on a large download via HTTP. I’m on CentOS 5.7.
Before the change I got about 900 KB/s
After the change it went up to about 1800 KB/s

According to the Wiki article Dan linked to:
“Linux kernels (from 2.6.8, August 2004) have enabled TCP Window Scaling by default”