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 mqtt-benchmark tool. It provides a comparative benchmark of messaging servers that implement the MQTT 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 publisher sending non-persistent messages to a topic that does not have an subscribers 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

Client Session/Subscription Load/Unload

Loading

A publisher on a clean session is sending messages with 20 byte payloads to with 1 subscribed non-clean session which is not currently connected.

QoS 0 Publish

QoS 1 Publish

QoS 2 Publish

Unloading

The non-clean session client then reconnects and starts receiving the messages previously sent to the subscription but now the publisher has stopped.

QoS 0 Subscribe

QoS 1 Subscribe

QoS 2 Subscribe

Fan In/Out Load Scenarios

These scenarios multiple subscribers and publishers communicate via one shared topic. All messages sent have a 20 byte payload.

 CleanNon-Clean
QoS 0
 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):

QoS 1
 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):

QoS 2
 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 topic only has 1 and only 1 publisher and subscriber attached.

 CleanNon Clean
QoS 0
 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):

QoS 1
 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):

QoS 2
 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):