Table of Contents

  1. Throughput to an Unsubscribed Topic
  2. Queue Load/Unload
  3. Partitioned Load Scenarios
  4. Fan In/Out Load Scenarios
  5. Request/Reply Scenarios

Overview

This report was generated using the stomp-benchmark tool. It provides a comparative benchmark of messaging servers that implement the Stomp 1.0 specification. It covers a wide variety of common usage scenarios. Each scenario is warmed up for 3 seconds before the performance samples are taken.

Console logs of the benchmarked servers

Throughput to an Unsubscribed Topic

A single producer sending non-persistent messages to a topic that does not have an consumers attached.

NOTE: hover over the graphs to see the legends.

With a 20 b Playload

With a 1 k Playload

With a 256 k Playload

Queue Load/Unload

Non Persistent Load

A producer sending non-persistent messages with 20 byte payloads to a queue without any attached consumers.

Persistent Load

A producer sending persistent messages with 20 byte payloads to a queue without any attached consumers. Each send requests a receipt to achieve guaranteed delivery.

Unload

A consumer receiving the messages previously sent to the queue but without any attached producers.

Fan In/Out Load Scenarios

These scenarios multiple consumers and producers communicate via one shared destination. All messages sent have a 20 byte payload.

The graphs below display the results of all the following scenario combinations:

 Non PersistentPersistent
Queue
 1 Producer5 Producers10 Producers
1 Consumer

Producer Rates (msg/s):

Consumer Rates (msg/s):

5 Consumers

Producer Rates (msg/s):

Consumer Rates (msg/s):

10 Consumers

Producer Rates (msg/s):

Consumer Rates (msg/s):

 1 Producer5 Producers10 Producers
1 Consumer

Producer Rates (msg/s):

Consumer Rates (msg/s):

5 Consumers

Producer Rates (msg/s):

Consumer Rates (msg/s):

10 Consumers

Producer Rates (msg/s):

Consumer Rates (msg/s):

Topic
 1 Producer5 Producers10 Producers
1 Consumer

Producer Rates (msg/s):

Consumer Rates (msg/s):

5 Consumers

Producer Rates (msg/s):

Consumer Rates (msg/s):

10 Consumers

Producer Rates (msg/s):

Consumer Rates (msg/s):

 1 Producer5 Producers10 Producers
1 Consumer

Producer Rates (msg/s):

Consumer Rates (msg/s):

5 Consumers

Producer Rates (msg/s):

Consumer Rates (msg/s):

10 Consumers

Producer Rates (msg/s):

Consumer Rates (msg/s):

Partitioned Load Scenarios

These scenarios sample performance as partitioned load is applied. Each destination only has 1 and only 1 producer and consumer attached.

The graphs below display the results of all the following scenario combinations:

 Non PersistentPersistent
Queue
 20 b Message1 k Message256 k Message
1x1x1

Producer Rates (msg/s):

Consumer Rates (msg/s):

5x5x5

Producer Rates (msg/s):

Consumer Rates (msg/s):

10x10x10

Producer Rates (msg/s):

Consumer Rates (msg/s):

 20 b Message1 k Message256 k Message
1x1x1

Producer Rates (msg/s):

Consumer Rates (msg/s):

5x5x5

Producer Rates (msg/s):

Consumer Rates (msg/s):

10x10x10

Producer Rates (msg/s):

Consumer Rates (msg/s):

Topic
 20 b Message1 k Message256 k Message
1x1x1

Producer Rates (msg/s):

Consumer Rates (msg/s):

5x5x5

Producer Rates (msg/s):

Consumer Rates (msg/s):

10x10x10

Producer Rates (msg/s):

Consumer Rates (msg/s):

 20 b Message1 k Message256 k Message
1x1x1

Producer Rates (msg/s):

Consumer Rates (msg/s):

5x5x5

Producer Rates (msg/s):

Consumer Rates (msg/s):

10x10x10

Producer Rates (msg/s):

Consumer Rates (msg/s):

Request/Reply Scenarios

In this scenario producers send a request message with a 20 byte body to a queue the consumers are subscribed to and then waits for response on a queue unique to each producer. The request message has the `reply-to` header set to the queue which the producer is will wait for the response on. Consumers are receive the request message and send a response message without a body to the `reply-to` queue specified on the request. The 99.9th percentile latency is measured using the time elapsed from when the producer sends the request message to when the producer receives the response message.

 Non PersistentPersistent
Queue
 1 Producer10 Producers100 Producers
1 Consumer

Request Rates (r/s):

99.9th % Latency (ms):

5 Consumers

Request Rates (r/s):

99.9th % Latency (ms):

10 Consumers

Request Rates (r/s):

99.9th % Latency (ms):

 1 Producer5 Producers100 Producers
1 Consumer

Request Rates (r/s):

99.9th % Latency (ms):

5 Consumers

Request Rates (r/s):

99.9th % Latency (ms):

10 Consumers

Request Rates (r/s):

99.9th % Latency (ms):