There has been a bug report that no, the broker side is not honoring
the request for tcp_nodelay to get enabled on the socket.

On 4/19/07, Teemu Torma <[EMAIL PROTECTED]> wrote:
On Thursday 19 April 2007, Albert Strasheim wrote:
> From what I can tell, AMQCPP supports a broker URL property for
> setting TCP_NODELAY, but actually setting it doesn't change anything
> at socket creation time (although I could be mistaken, I just did a
> quick browse through the code). Maybe TCP_NODELAY should even be the
> default?

You need activemq side to do the same thing to get latency down.  On the
other hand, if you are just sending messages you get better throughput
without TCP_NODELAY, it all depends on usage.

> > How to check if this is really the problem:
> > -Go to AMQCPP source code and add a line to your socket creation
> > code, where you explicitely set TCP_NODELAY to True always (to
> > disable Nagle's algorithm). Rebuild and compare.
>
> I'll give this a go today.

I tested this earlier this week and did get 40ms off from the round-trip
time (all Linux).  However, I still get 40ms left and even though
tracing openwire commands show we are requesting nodelay from the
broker, I could not get it down.  Does activemq itself implement this
correctly?

Teemu



--
Regards,
Hiram

Blog: http://hiramchirino.com

Reply via email to