[논문 리뷰] Engineering and Experimentally Benchmarking Open Source MQTT Broker Implementations
이 논문은 제어된 네트워크 환경에서 AMD64 가상 머신과 ARM64 라즈베리파이 클러스터에서 다섯 개인 오픈소스 MQTT 브로커 구현체—Mosquitto, EMQX, RabbitMQ, VerneMQ, HiveMQ—에 대한 재현 가능하고 오픈소스인 실험 기반 벤치마킹 테스트베드를 제시한다. 주요 발견 결과로는 하드웨어 플랫폼(가상 머신 대비 라즈베리파이)과 메시지 페이로드 크기(특히 1MB)가 브로커 선택보다 성능에 훨씬 더 큰 영향을 미친다. 가상 머신은 특히 고지연 또는 패킷 손실 조건에서 더 낮은 응답 시간과 높은 일관성을 기록한다.
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 브로커에 대한 체계적이고 재현 가능한 실험적 벤치마킹의 부족을 해결하기 위해.
- 지연, 제트, 패킷 손실과 같은 네트워크 파rameter가 널리 사용되는 오픈소스 MQTT 브로커의 성능에 미치는 영향을 평가하기 위해.
- 다양한 하드웨어 플랫폼(AMD64 가상 머신과 ARM64 라즈베리파이)에서 다섯 주요 오픈소스 MQTT 브로커(Mosquitto, EMQX, RabbitMQ, VerneMQ, HiveMQ)의 성능을 비교하기 위해.
- 에지 컴퓨팅 시나리오에서 MQTT 브로커의 반복 가능한 성능 평가를 위한 완전 자동화된 컨테이너 기반이고 오픈소스인 테스트베드를 개발하기 위해.
- 메시지 크기, 네트워크 조건, 하드웨어 제약 조건를 고려한 시스템 설계자에게 실질적인 통찰을 제공하기 위해.
제안 방법
- AMD64 가상 머신과 ARM64 라즈베리파이 클러스터에서 MQTT 브로커 배포를 오케스트레이팅하기 위해 Docker와 Kubernetes를 사용한 재현 가능한 컨테이너 기반 네트워크 테스트베드를 설계하였다.
- TC(트래픽 제어) 도구를 활용해 지연, 제트, 패킷 손실을 구성 가능한 조건으로 설정한 다양한 네트워크 환경에서 브로커 성능을 벤치마킹하기 위한 자동화된 테스트 실행 파이프라인을 구현하였다.
- 응답 시간 오프셋과 메시지 교환 지연을 핵심 메트릭으로 사용하여 1KB, 10KB, 1MB의 세 가지 페이로드 크기에서 성능을 측정하였다.
- 동일한 테스트 조건에서 다섯 개의 오픈소스 MQTT 브로커—Mosquitto, EMQX, RabbitMQ, VerneMQ, HiveMQ—를 배포하고 평가하여 공정한 비교를 확보하였다.
- 다중 런과 네트워크 시나리오에서의 성능 일관성과 변동성을 평가하기 위해 통계 분석(중앙값과 사분자구간)을 활용하였다.
- 향후 벤치마킹을 위해 추가 브로커와 통신 프로토콜 프레임워크 통합을 지원하는 확장 가능한 테스트베드를 설계하였다.
실험 결과
연구 질문
- RQ1지연, 제트, 패킷 손실을 포함한 다양한 네트워크 조건에서 다른 오픈소스 MQTT 브로커 구현체의 성능은 어떻게 되는가?
- RQ2에지 컴퓨팅 환경에서 하드웨어 플랫폼(AMD64 가상 머신 대비 ARM64 라즈베리파이)이 MQTT 브로커 성능에 어떤 영향을 미치는가?
- RQ3메시지 페이로드 크기(1KB, 10KB, 1MB)가 다양한 네트워크 및 하드웨어 구성에서 MQTT 브로커의 응답 시간과 지연에 어떤 영향을 미치는가?
- RQ4브로커의 구현 방식 차이가 네트워크 및 하드웨어 요인에 비해 성능에 미치는 영향은 어느 정도인가?
- RQ5완전 자동화되고 재현 가능하며 오픈소스인 테스트베드가 실제 세계의 에지 시나리오에서 MQTT 브로커 성능을 효과적으로 벤치마킹하는 데 사용될 수 있는가?
주요 결과
- 브로커 선택보다 하드웨어 플랫폼이 성능에 더 큰 영향을 미쳤으며, 모든 시나리오에서 가상 머신이 라즈베리파이 설정보다 상당히 낮은 응답 시간을 기록하였다.
- 1KB 및 10KB 메시지 페이로드에서는 네트워크 열악화로 인한 지연 증가가 브로커 간에 미미했으며, 각 구현체 간의 차이는 무시할 만했다.
- 1MB 페이로드 크기에서는 모든 브로커가 심각한 성능 저하를 경험했으며, 중앙값 지연이 크게 증가하고 사분자구간(IQR)이 넓어져 변동성이 높아짐을 나타냈다.
- 가장 열악한 네트워크 시나리오에서 가상 머신 환경에서는 VerneMQ(345.64 ms)와 HiveMQ(374.80 ms)가 Mosquitto(437.10 ms), EMQX(418.81 ms), RabbitMQ(429.83 ms)보다 중앙값 응답 시간이 뚜렷이 높게 나타났으며, 이는 더 큰 페이로드가 성능 격차를 극대화함을 시사한다.
- 동일한 하드웨어와 네트워크 조건에서 배포된 테스트베드의 자체 성능 오프셋은 브로커 간에 미미하고 유사했으며, 이는 벤치마킹 설정의 신뢰성을 검증한다.
- 결과는 하드웨어 제약 조건과 메시지 크기가 특히 지연 민감한 IoT 애플리케이션의 브로커 선택에 핵심 요소임을 입증한다.
더 나은 연구,지금 바로 시작하세요
논문 읽기부터 검토까지, 연구 시간을 획기적으로 줄여보세요.
카드 등록 없음 · 무료 플랜 제공
이 리뷰는 AI가 만들고, 인간 에디터가 검토했습니다.