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


Reply via email to