Abstract
Internet of Things (IoT) is a rapidly growing research field, which has enormous potential to enrich our lives for a smarter and better world. Significant improvements in telemetry technology make it possible to quickly connect things (i.e. different smart devices) situated at different geographical locations. Telemetry technology helps to monitor and measure the devices from remote locations, making them even more useful and productive at a low cost of management. MQTT (MQ Telemetry Transport) is a lightweight messaging protocol that meets today’s smarter communication needs. The protocol is used for machine-to-machine communication and plays a pivotal role in IoT. In case the network bandwidth is low, or a network has high latency, and for devices having limited processing capabilities and memory, MQTT is able to distribute telemetry information using a publish/subscribe communication pattern. It enables IoT devices to send or publish information on a topic head to a server (i.e. MQTT broker), then it sends the information out to those clients that have previously subscribed to that topic. This paper puts several publicly available brokers and locally deployed brokers into experiment and compares their performance by subscription throughput i.e., in how much time a broker pushes a data packet to the client (the subscriber) or how much time a data packet takes to reach the client (the subscriber) from the broker. MQTT brokers based on the latest MQTT v3.1.1 version were evaluated. The paper also includes mqtt-stresser and mqtt-bench stress test results of both locally and publicly deployed brokers.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
Notes
- 1.
The IEEE 802.16 Working Group on Broadband Wireless Access Standards, http://www.ieee802.org/16/.
- 2.
- 3.
- 4.
- 5.
- 6.
References
Lampkin, V., et al.: Building Smarter Planet Solutions with MQTT and IBM WebSphere MQ, Telemetry. IBM Redbooks publication, 268 p. (2012)
Naik, N.:Choice of effective messaging protocols for IoT systems: MQTT, CoAP, AMQP and HTTP. In: IEEE International Systems Engineering Symposium, Vienna, pp. 1–7 (2017)
Karagiannis, V., Chatzimisios, P., Vazquez-Gallego, F., Alonso- Zarate, J.: A survey on application layer protocols for the Internet of Things. Trans. IoT Cloud Comput. 3(1), 11–17 (2015)
Bellavista, P., Zanni, A.: Towards better scalability for IoT-cloud interactions via combined exploitation of MQTT and CoAP. In: IEEE 2nd International Forum on Research and Technologies for Society and Industry Leveraging a better tomorrow (RTSI) (2016)
Gazis, V., Gortz, M., Huber, M., Leonardi, A., Mathioudakis, K., Wiesmaier, A., Zeiger, F., Vasilomanolakis, E.: A survey of technologies for the Internet of Things. In: Proceedings of 2015 IEEE International Wireless Communications and Mobile Computing Conference, pp. 1090–1095 (2015)
Foster, A.: Messaging technologies for the industrial internet and the Internet of Things whitepaper PrismTech. (2015)
Kovatsch, M., Lanter, M., Shelby, Z.: Californium: scalable cloud services for the Internet of Things with CoAP. In: IEEE International Conference on Internet of Things, pp. 1–6 (2014)
Stephen, N.: Power Profiling: HTTPS Long Polling vs. MQTT with SSL, on Android (2015). http://stephendnicholas.com/archives/1217. Accessed 04 Apr 2018
Lee, S., Kim, H., Hong, D.K., Ju, H.: Correlation analysis of MQTT loss and delay according to Qos level. In: The International Conference on Information Networking (ICOIN), pp. 714–717, January 2013
Pahomqtt c client library: Quality of service. http://www.eclipse.org/paho/files/mqttdoc/MQTTClient/html/qos.html. Accessed 19 June 2017
MQTT Version 3.1.1, 28 October 2018. http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html. Accessed 04 Apr 2018
Fehrenbach, P.: Messaging Queues in the IoT Under Pressure-Stress Testing the Mosquitto MQTT Broker, FakultätInformatik Hochschule Furtwangen University, 10 May 2017. https://blog.it-securityguard.com/wp-content/uploads/2017/10/IOT_Mosquitto_Pfehrenbach.pdf Accessed 04 Apr 2018
Nistsp 800-132, recommendation for password-based key derivation part1: Storage applications. http://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-132.pdf. Accessed 04 Mar 2018
Public Brokers. https://github.com/mqtt/mqtt.github.io/wiki/public_brokers. Accessed 04 Apr 2018
Github- mqtt-spy. https://github.com/eclipse/paho.mqtt-spy. Accessed 15 Mar 2018
RabbitMQ Documentation. https://www.rabbitmq.com/documentation.html. Accessed 04 Apr 2018
Github- mqttstresser. https://github.com/inovex/mqtt-stresser. Accessed 15 Mar 2018
MQTT Bench mqtt-bench. https://github.com/takanorig/mqtt-bench. Accessed 15 Mar 2018
Acknowledgements
The author would like to show his gratitude to his colleagues: Attila Kertesz, Tamás Pflanzner and Tibor Gyimothy for their constructive comments and suggestions that made this research work possible.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
Cite this paper
Mishra, B. (2018). Performance Evaluation of MQTT Broker Servers. In: Gervasi, O., et al. Computational Science and Its Applications – ICCSA 2018. ICCSA 2018. Lecture Notes in Computer Science(), vol 10963. Springer, Cham. https://doi.org/10.1007/978-3-319-95171-3_47
Download citation
DOI: https://doi.org/10.1007/978-3-319-95171-3_47
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-95170-6
Online ISBN: 978-3-319-95171-3
eBook Packages: Computer ScienceComputer Science (R0)