activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From davidmc <>
Subject Re: option wireFormat.tcpNoDelayEnabled=true seems to be ignored
Date Thu, 22 Feb 2007 06:52:42 GMT

Again I have to reply myself to provide more information...

It seems from my tests that even the socket.tcpNoDelay=true flag has an
effect on broker configuration (in activemq.xml file). It only seems to work
in client connection URIs. The other 2 possibilities (tcpNoDelay=true and
wireFormat.tcpNoDelayEnabled=true) do not work either.

In some scenarios this can result into delayed ACK timeouts even if the
client sockets have TCP_NODELAY = true.

So the only solution if you want all ActiveMQ sockets (broker's and
client's) to have TCP_NODELAY = true is to hard-code it in ActiveMQ source
See the 1st comment on
for more details...

Best Regards,

davidmc wrote:
> Hello ActiveMQ devs,
> I don't want to seem picky :( but 1 week has passed and still no feedback
> on this TCP_NODELAY issue.
> Finding that "wireFormat.tcpNoDelayEnabled" does not work but
> "socket.tcpNoDelay" DOES work even if it is not documented, already helped
> 1 person...  see the last comment of Helmut at
> .
> So, could you please update the documentation at
> or
> to point out that
> one should use socket.tcpNoDelay=true to enable TCP_NODELAY in ActiveMQ
> sockets (i.e. disable Nagle's Algorithm)?
> Just edit the wiki to add something like... "At the moment
> wireFormat.tcpNoDelayEnabled=true option does not work, please use
> socket.tcpNoDelay=true instead" or whatever you want.
> Also it shouldn't take much time to change the code to accept
> wireFormat.tcpNoDelay as the documentation actually says... this is just
> an option parsing / option forwarding problem.
> If you don't at least document the socket.tcpNoDelay workaround, this can
> lead people to believe that ActiveMQ performs bad in Linux - because with
> Windows localhost sockets, this problem doesn't arise, unlike Linux
> sockets - and people testing ActiveMQ on Linux may be disappointed.
> Thanks in advance, regards,
> David
> davidmc wrote:
>> At least in connection URL's used by clients, the option
>> wireFormat.tcpNoDelayEnabled=true is ignored silently in versions 4.0,
>> 4.1.0 and 4.2.0.
>> So, you may have tried to disable Nagle's algorithm, to reduce latency
>> for example, without noticing any effect...
>> workaround: use socket.tcpNoDelay instead, for example:
>> "tcp://localhost?socket.tcpNoDelay=true"
>> Please see the issue I created at
>> .
>> Regards,
>> David

View this message in context:
Sent from the ActiveMQ - User mailing list archive at

View raw message