Table of Contents
- Throughput to an Unsubscribed Topic
- Queue Load/Unload
- Partitioned Load Scenarios
- Fan In/Out Load Scenarios
- 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.
Throughput to an Unsubscribed Topic
A single producer sending non-persistent messages to a topic that does not have an consumers attached.
With a 20 b Playload![]() |
With a 1 k Playload![]() |
With a 256 k Playload![]() |
Queue Load/Unload
Non Persistent LoadA producer sending non-persistent messages with 20 byte payloads to a queue without any attached consumers. ![]() |
Persistent LoadA producer sending persistent messages with 20 byte payloads to a queue without any attached consumers. Each send requests a receipt to achieve guaranteed delivery. ![]() |
UnloadA 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:
- Queue: The point to point messaging domain
- Topic: The publish subscribe messaging domain
- Persistent: Messages are sent persistent and with a receipt request to achieve guaranteed delivery.
- Non Persistent: Messages are sent non-persistent and without a receipt request
Non Persistent | Persistent | |||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Queue |
|
| ||||||||||||||||||||||||||||||||
Topic |
|
|
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:
- Queue: The point to point messaging domain
- Topic: The publish subscribe messaging domain
- Persistent: Messages are sent persistent and with a receipt request to achieve guaranteed delivery.
- Non Persistent: Messages are sent non-persistent and without a receipt request
- 20 b Message: Messages payloads are 20 bytes in size
- 1 k Message: Messages payloads are 1 kilobytes in size
- 256 k Message: Messages payloads are 256 kilobytes in size
- 1x1x1: 1 producer, 1 destination, 1 consumer
- 5x5x5: 5 producers, 5 destinations, 5 consumers
- 10x10x10: 10 producers, 10 destinations, 10 consumers
Non Persistent | Persistent | |||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Queue |
|
| ||||||||||||||||||||||||||||||||
Topic |
|
|
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 Persistent | Persistent | |||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Queue |
|
|