activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Chuck Rolke <cro...@redhat.com>
Subject Messaging client unreliable message comparison between ActiveMQ 5.10 and Qpidd brokers
Date Mon, 20 Oct 2014 21:24:08 GMT
I'm working on comparing AMQP 1.0 clients with different brokers. In this case I have ActiveMQ
(5.10) and Qpidd (trunk, proton at about 0.8) brokers on a Fedora 19 localhost. For the client
I have a qpidmessaging client test that moves unreliable messages.

The test client program:
    For the full source please see
    http://people.apache.org/~chug/adverb_unreliable_400_50/hello_world.cpp

 0. Uses 400 total messages with a 'batch' size of 50.
 1. Creates a connection to:
    "chuck; {create:always, link: {reliability:unreliable}}"
 2. Creates a sender and receiver each with capacity of 100.
 3. Sends a batch to the broker
 4. Loops sending and receiving batches of messages
 5. Receives the final batch.

 The idea is to prime the broker with a batch of messages. Then send and  receive batches
so that the client receiver might never have to wait doing a fetch because the receiver's
capacity will prefetch the messages.

Results:

1. http://people.apache.org/~chug/adverb_unreliable_400_50/unreliable2_amq5.10_400_50.html
2. http://people.apache.org/~chug/adverb_unreliable_400_50/unreliable2_amq5.10_400_50_tcpnodelay.html
3. http://people.apache.org/~chug/adverb_unreliable_400_50/unreliable2_qpidd_400_50.html

Notes:
1. Run 1 was ActiveMQ 5.10 with no options.
2. Run 2 was ActiveMQ 5.10 with amqp transport.tcpNoDelay=true
3. Run 3 was Qpidd (0.30+) with no options (tcpNoDelay=true by default).
4. Each trace has four consecutive runs of the test program on a fresh restart of the broker.
5. Statistics:
                                  Elapsed time (mS)     Over-the-wire frames
                                  ------------------    --------------------
   Run 1, ActiveMQ - stock      : 261, 209, 209, 208     85,  73,  70,  68
   Run 2, ActiveMQ - tcpNoDelay : 201, 180, 146, 123    459, 484, 459, 457
   Run 3, Qpidd    - stock      :  16,  17,  17,  18     50,  55,  44,  73

It's notoriously hard to describe what a protocol is doing to make it faster/slower in one
case or another. The trace web pages are an attempt at doing just that and are generated from
post-processed Wireshark decodes. I hope this helps.

-Chuck

Mime
View raw message