To test the performance of the MQTT broker using containerization technology on Raspberry Pi devices with two different image bases, we use several experimental parameters. The experimental parameters are resource usage (CPU and memory), latency, and packet loss. To test the resource usage, we created a Python script. Meanwhile, to test latency and packet loss, we used the MQTT broker measure latency measure. The base images used as the installation media for the MQTT broker (Mosquitto) are belenalib/raspberry-pi2 and belenalib/raspberry-pi2-alpine. We created the Docker images using Dockerfiles. The image is built and run with the commands provided by the Docker program. Regarding resource usage (CPU), the MQTT broker running on docker based on the belenalib/raspberry-pi2 image performs better than native with 0.53% to 10.38% lower CPU usage. However, the resource usage (memory) of both MQTT brokers running on docker is still higher than MQTT brokers running natively, which has a difference about more than 50%. Likewise with the latency test, the two MQTT brokers running on docker are still higher than the MQTT brokers running natively, which has a difference of more than 50%. While in the packet loss test, the MQTT broker with the belenalib/raspberry-pi2 image base can provide better performance where only 28.60% experienced packet loss on 1000 MQTT clients and 0 QoS.
Copyrights © 2021