activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From davidmc <aranman...@gmail.com>
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
code.
See the 1st comment on https://issues.apache.org/activemq/browse/AMQ-1156
for more details...

Best Regards,
David



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
> https://issues.apache.org/activemq/browse/AMQ-1137 .
> 
> So, could you please update the documentation at
> http://activemq.apache.org/tcp-transport-reference.html or
> http://activemq.apache.org/configuring-wire-formats.html 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
>> https://issues.apache.org/activemq/browse/AMQ-1156 .
>> 
>> Regards,
>> 
>> David
>> 
> 
> 

-- 
View this message in context: http://www.nabble.com/option-wireFormat.tcpNoDelayEnabled%3Dtrue-seems-to-be-ignored-tf3185560s2354.html#a9095199
Sent from the ActiveMQ - User mailing list archive at Nabble.com.


Mime
View raw message