You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by "David Martín Clavo (JIRA)" <ji...@apache.org> on 2007/02/09 07:49:04 UTC

[jira] Commented: (AMQ-1143) Need a way to set tcpNoDelay on peer transport TCP network connections

    [ https://issues.apache.org/activemq/browse/AMQ-1143?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_38488 ] 

David Martín Clavo commented on AMQ-1143:
-----------------------------------------

try the option socket.tcpNoDelay=true, for example:
"tcp:/localhost:0?socket.tcpNoDelay=true"

It has worked for me in a latency test doing synchronous sends, using TCP transport.
You can try and change the PeerTransportFactory source code and add this option if you really need tcpNoDelay on.


> Need a way to set tcpNoDelay on peer transport TCP network connections
> ----------------------------------------------------------------------
>
>                 Key: AMQ-1143
>                 URL: https://issues.apache.org/activemq/browse/AMQ-1143
>             Project: ActiveMQ
>          Issue Type: Improvement
>          Components: Transport
>    Affects Versions: 4.1.0
>         Environment: Windows XP Professional / JRE 1.5.0_11
>            Reporter: Andrew Steele
>
> I really like the peer transport in ActiveMQ.  It seems to be just the kind of setup we need.  However, we do have low round-trip latency requirements in some applications.  I was seeing unacceptably bad latencies (~200ms) for synchronous round trips.  I installed Wireshark and performed network analysis to see what was going on.  It appeared to be a Nagle algorithm / TCP ACK delay issue.  Essentially, after the first message request and reply, the next request message may be delayed while waiting for a delayed ACK from the other broker.  This should be resolvable by enabling tcpNoDelay.  However, the peer transport URI provides no mechanism to enable tcpNoDelay.  In fact, I went into the source code and found that the TCP network connecter specified in the PeerTransportFactory is hard coded to tcp://localhost:0.  Basically, I need a way to turn on tcpNoDelay in peer transport.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.