halfgaar / MqttLoadSimulator

Simulate MQTT load / MQTT stress tester

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

MqttLoadSimulator

There are various MQTT stress testers out there, but they often give an inaccurate representation of server performance, because they don’t factor in their own performance limitations. It’s really hard to see when it’s the stress tester that is being overloaded, or the server. MqttLoadSimulator aims to allow better control of traffic generated and show its own performance:

Screenshot

Features

  • Hostname can be specified as comma-separated list, to allow testing millions of connections to one server, for which you need to give the server multiple addresses.
  • Set number of active/passive clients
  • Configure connection delay
  • Set message burst size
  • Set message burst rate
  • Set QoS
  • Set retain
  • Set clean sessions / configurable session ID
  • Configurable topic paths.
  • Server TLS
  • Client TLS
  • Authentication with username/password
  • Show latency stats

See --help for more details.

Limitations

It uses the QMQTT, which means it's limited to MQTT version 3, and doesn't have websocket support. An attempt has to be made to port it to qtmqtt.

Requirements

It requires that QMQTT is installed. The project has a make install option, which will install the Qt module in the directory of the Qt version you built it, like ~/Qt/5.12.4/gcc_64.

Download builds

Builds are provided on the FlashMQ website here.

About

Simulate MQTT load / MQTT stress tester

License:GNU General Public License v2.0


Languages

Language:C++ 94.4%Language:C 3.5%Language:QMake 2.2%