activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Teemu Torma <te...@torma.org>
Subject Re: AMQCPP Openwire much slower than Stomp?
Date Mon, 23 Apr 2007 20:03:44 GMT
On Monday 23 April 2007, Mittler, Nathan wrote:
> BTW, has anyone run the same test with a Java client to verify that
> it is indeed an OpenWire thing and not an activemq-cpp specific
> thing?

I have never timed Java client, but this is general networking issue and 
how TCP works.

On linux, I see roundtrips <0.5ms if TCP_NODELAY is enabled both on 
activemq-cpp and the broker, otherwise it is 80ms.  For some odd 
reason, I sometimes see <0.5ms and 40ms timings, but rarely.  

This is pretty similar I have seen with stomp.  I have never actually 
timed sending bunch of messages with openwire.  Maybe stomp effectively 
sends messages asynchronously and openwire waits for ack for each 
message?  (I have never looked what these protocols do).  

Setting TCP_NODELAY just on activemq-cpp the round-trip drops to 40ms.  
The broker needs changing too to get consistent <0.5ms round-trip 
latency.

For comparison omniORB, which we also use, sets TCP_NODELAY 
unconditionally for all sockets.  

Btw, the delay on Linux for Nagle's algorithm is 40ms.

Teemu

Mime
View raw message