Abstract

In this paper, we design and implement an MQTT load test tools for evaluating the performance of an MQTT appliance system which is capable of handling large amounts of MQTT traffic. The implemented system consists of a master that can centrally control the performance evaluation process and a set of clients that creates virtual MQTT devices and generates MQTT traffic. The MQTT Load Test system was developed using the Java language and the Jpcap library. We developed a GUI version load test and also developed a console mode system that can be executed in an environment where GUI is not available. Using the MQTT Load Test system implemented in this paper, we were able to effectively evaluate the performance of a high-performance MQTT Appliance, another important research topic. Since MQTT Load Test Master and Slave have developed not only the GUI version but also the Console version, it is possible to test the performance even in a remote connection situation where GUI is not supported. The experiment could be conducted in various scenarios, and the number of virtual clients that had to be created per a computer could be confirmed so that the computers participating in the experiment could generate or receive MQTT message traffic of a predetermined level.
 Applications: The MQTT Load Test system implemented in this paper can be used as a tool for performance evaluation of high-performance MQTT Appliances.

Highlights

  • The MQTT(Message Queueing Telemetry Transport) protocol is a communication protocol for sending and receiving messages in a specific topic by using the Subscribe and Publish method[1][2]

  • The entire system is composed of one Load Test Master, multiple Load Test Slaves, and MQTT Appliance equipped with MQTT Broker, which is the target of performance evaluation

  • In this paper, we have designed and implemented MQTT load test system, which consists of Master and

Read more

Summary

Introduction

The MQTT(Message Queueing Telemetry Transport) protocol is a communication protocol for sending and receiving messages in a specific topic by using the Subscribe and Publish method[1][2]. Ignoring global settings in (g), each slave can be configured differently It means, for each slave computer, the QoS level, test duration, message size, traffic (msg/sec) or # of instance(virtual client) values can be set differently according to required application environment. In order to perform a load test in such an environment, a remote access program such as Telnet[12] or SSH[13] must be used, and a load test program that can be executed from the command line is required In this respect, the developed Console version can be run by omitting the Java GUI and setting it as an option in the Command Line like an ordinary Linux commands. It shows number of messages/sec and total number of message for each virtual clients

Experiment
Experiment 2 – Outbound load test
Conclusion
Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call