  The Message Queuing Telemetry Transport (MQTT) protocol is one of the most
widely used IoT protocol solutions. In this work, we are especially interested
in open-source MQTT Broker implementations (such as Mosquitto, EMQX, RabbitMQ,
VerneMQ, and HiveMQ). To this end, we engineer a network testbed to
experimentally benchmark the performance of these implementations in an edge
computing context with constrained devices. In more detail, we engineer an
automated deployment and orchestration of the containerized MQTT broker
implementations, with support for deployment across either moderately powerful
AMD64 devices, or more resource constrained ARM64 devices. The proposed MQTT
implementations are evaluated in terms of overhead response time and different
payload sizes. Results showed that the hardware platform used as well as the
message size, and the network parameters (latency, packet loss and jitter) have
a significant impact on the performance differences between the brokers. All
results, software tools and code are fully reproducible and free and open
source.
