Hi Kyle, On Wed, Feb 29, 2012 at 12:02:59PM -0500, Kyle Brandt wrote: > Hi All, > > I am trying to experiment with increasing the size of the initial > congestion window to speed up higher latency connections. I tried setting > this via route on one of my load balancers with Kernel version 2.6.32 (It > seems the ability to adjust the initial receive window is in later > versions, but I believe 2.6.32 should support the initial send window > size ): > > <clientIP> via <gateway-ip> dev eth0 proto static initcwnd 10 > > Comparing packet captures, the SYN/ACK packet has the "Calculated Window > Size" (according to wireshark) at 5792 both before and after the route > change -- so this doesn't seem to effect the initial window size. > > 1) Am I looking in the right place to see if this working (Window Size in > the SYN/ACK Packet sent by the load balancer?)
You won't see it here, what you observe in the SYN/ACK is the receive window size, which is directly dependent on the default tcp_rmem. The initcwnd is used for sending only and is not advertised in TCP, it's just an internal parameter used by the congestion control algorithm. The only way to see if your change takes effect is to take a network capture and to see if you observe more segments sent at once without waiting for an ACK from the client. > 2) If I am looking in the right place, any ideas why this isn't working? I > saw a mention of initcwnd in the 1.6 ROADMAP in git, so maybe HAProxy > wouldn't take advantage of this by default in 1.5? There is a mention of it because a kernel patch was posted to make it possible for an application to set it using a setsockopt(). I thought it was already merged but it's not. So it's pointless to have the feature if the kernel does not support it. I have the patch somewhere, I even had updated the doc before seeing it was not supported :-) Regards, Willy

