Hi Patrick,
> It would be nice to be able to control the usage of TCP_NODELAY. Right > now it looks like haproxy immediately turns the flag on upon any > frontend or server connection. When doing bulk data transfers, this can > have a negative impact on performance. HAProxy uses MSG_MORE to control whether or not the system merges segments, so your large bulk transfer will still perform optimally. HAProxy is highly optimized to do the right thing by default, I don't think there is any benefit to gain here. Do you have any reason to doubt haproxy's MSG_MORE handling? > However I do not think this should be a global option. I would think > this is an option best turned on and off by ACL rules. You may only > have certain URLs which return bulk data, or maybe you want to turn it > off when entering the data phase, or perhaps only when Content-Length > is greater than a certain amount. > > I think there are numerous uses for this feature, but the only other > request I saw was a mailing list entry from a few months ago > (http://marc.info/?l=haproxy&m=139176184632622) to which the response > was to use the http-no-delay option. When I looked into it, this is not > controlling TCP_NODELAY, and thus not relevant. Well, it may not directly control TCP_NODELAY, but it controls directly or indirectly MSG_MORE, so its still relevant as it does affect Nagle and possibly other things. Also see: http://marc.info/?l=haproxy&m=132173719731861&w=2 > Thoughts? I think there is nothing to gain here. Regards, Lukas

