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.
翻译:消息队列遥测传输(MQTT)协议是应用最广泛的物联网协议解决方案之一。本研究重点关注开源MQTT Broker实现(包括Mosquitto、EMQX、RabbitMQ、VerneMQ和HiveMQ)。为此,我们构建了网络测试平台,在资源受限设备的边缘计算场景下对这些实现进行性能基准测试实验。具体而言,我们实现了容器化MQTT Broker的自动化部署与编排系统,支持在中等性能的AMD64设备或资源受限的ARM64设备上跨平台部署。通过对不同负载响应时间及多种消息载荷尺寸的评估实验表明:硬件平台类型、消息体大小以及网络参数(延迟、丢包率和抖动)对代理间性能差异具有显著影响。所有实验结果、软件工具及代码均实现完全可复现,并以自由开源形式发布。