This article gives the IW status on Windows and Linux. What is the status on other systems (e.g Mac OS X, FreeBSD, Solaris...) ?
Does it matter only server side, or do clients benefit of having this window increased too?
Also, a comment of the article mentions this:
Why are you talking about upgrading the kernel, when you can simply do:
ip route change default via MYGATEWAY dev MYDEVICE initcwnd 10
which would be similar to the netsh tunable on Windows. So upgrading the kernel is only needed to have it set to 10 by default.
EDIT:
It seems Mac OS X is using either NewReno or LEDBAT instead of the mentioned CUBIC or Vegas. Look for tcp_ledbat_cwnd_init in [1] which looks quite simple, or tcp_newreno_cwnd_init_or_reset in [0] which looks a bit more involved:
/* Calculate initial cwnd according to RFC3390,
* - On a standard link, this will result in a higher cwnd
* and improve initial transfer rate.
* - Keep the old ss_fltsz sysctl for ABI compabitility issues.
* but it will be overriden if tcp_do_rfc3390 sysctl is set.
*/
The initcwnd change is helpful on any host that has more than 2 segments worth of data ready to send at the beginning of the connection. So a client that wants to send lots of data would benefit from the change.
For 99% of web browsing, the client's request fits in one or two segments and so would not benefit from the change.
Does it matter only server side, or do clients benefit of having this window increased too?
Also, a comment of the article mentions this:
which would be similar to the netsh tunable on Windows. So upgrading the kernel is only needed to have it set to 10 by default.EDIT:
It seems Mac OS X is using either NewReno or LEDBAT instead of the mentioned CUBIC or Vegas. Look for tcp_ledbat_cwnd_init in [1] which looks quite simple, or tcp_newreno_cwnd_init_or_reset in [0] which looks a bit more involved:
PS: xnu-1699.24.23 is Lion 10.7.3[0] http://opensource.apple.com/source/xnu/xnu-1699.24.23/bsd/ne...
[1] http://opensource.apple.com/source/xnu/xnu-1699.24.23/bsd/ne...