DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Related

  • Managed MQTT Broker Comparison — Console/Dashboard Features
  • Managed MQTT Broker Comparison — Product Packages and Pricing
  • Simultaneous, Multiple Proportion Comparisons Using Marascuilo Procedure
  • Frame Buffer Hashing for Visual Regression on Embedded Devices

Trending

  • Using LLMs to Automate Data Cleaning and Transformation Pipelines
  • Introduction to Retrieval Augmented Generation (RAG)
  • AI-Driven Integration in Large-Scale Agile Environments
  • Code Quality Had 5 Pillars. AI Broke 3 and Created 2 We Can’t Measure
  1. DZone
  2. Data Engineering
  3. IoT
  4. Managed MQTT Broker Comparison — Performance Test and Development

Managed MQTT Broker Comparison — Performance Test and Development

In this article, we will compare the differences between several managed MQTT Brokers in aspects of the broker performance and the development community.

By 
David Li user avatar
David Li
·
Nov. 14, 22 · Analysis
Likes (1)
Comment
Save
Tweet
Share
6.9K Views

Join the DZone community and get the full member experience.

Join For Free

This is the third article in the "Managed MQTT Broker Comparison" series. Link to the previous articles in the series:

Managed MQTT Broker Comparison - Product Packages and Pricing

Managed MQTT Broker Comparison - Console / Dashboard Features

Performance Test

According to the comparison in previous articles, I select EMQX Cloud and Cloud MQTT. The specification is the Standard Plan of EMQX Cloud with 1000 connections and CloudMQTT Loud Leopard with 1000 connections. 

The bench software I choose – XMeter. XMeter is a fully managed MQTT load testing service based on Jmeter.  There are three testing scenarios that can be set easily.










EMQX Cloud Performance Test

The dashboard is very comprehensive for monitoring all aspects of the connection. You can easily get understand the connection situation in current.

Publish Mode

The cloud broker receives 1000 messages per second and sends zero because there are no subscriber connections.





Performance Metrics in XMeter, the details can be found here.





One-to-One Mode

The broker receives 500 messages per second and sends 500 messages per second on balance.





Performance Metrics in XMeter, the details can be found here.





Subscribe Mode

The broker receives one message per second from only one publisher and sends 1000 messages to 1000 subscribers per second.





Performance Metrics in XMeter, the details can be found here.





Test Scenarios on Metrics

From the metrics dashboard, the moment of client connections and client disconnections. Meanwhile, the message received, the message sent, and the message dropped correspondingly.

CloudMQTT Performance Test

There is no real-time indicator of connections in the CloudMQTT Dashboard. We can find the clients and messages in MQTT metrics in the long-term chart. 

Publish Mode

Performance Metrics in XMeter, the details can be found here.



One-to-One Mode

Performance Metrics in XMeter, the details can be found here.


Subscribe Mode

Performance Metrics in XMeter, the details can be found here.


Test Scenarios on Metrics


Comparison of the Performance

Both EMQX Cloud broker and Cloud MQTT broker have a good performance from the connection test. In one-to-one mode, Latency is quite observable in CloudMQTT. However, the response success rate is promised.

Integration Capability

“Integration“ means sending messages to other services or systems from MQTT Broker, which in most architecture designs, is a messaging middleware for collecting and delivering. Integration capability is essential to build a whole system with a messaging broker as middleware. 

EMQX Cloud

The integration capabilities are different between the Standard Plan and the Professional Plan.  In the Standard Plan, data can be forwarded to the developer's web service via the rules engine and bridged to other MQTT Brokers, while in the Professional Plan, the options are more diverse. In addition to the features supported in the Standard Plan, data can be forwarded to 30+ data services like message queues or databases in the Professional Plan.


HiveMQ Cloud

It’s introduced that HiveMQ Enterprise Extension for Kafka can be enabled in the Dedicated version. 

Cedalo —  ProEdition

 No data integration yet.

CloudMQTT

CloudMQTT provides two data integration capabilities. A bridge can forward messages to another broker or AWS Kenisis, which is available for the dedicated instance. 


API

EMQX Cloud

Developers can manage authentication, access control, clients, subscription, topics, messages, and metrics through the APIs. With all these interfaces, you can develop a comprehensive cloud MQTT management application that will be well integrated with other systems.

HiveMQ Cloud

Backup, trace, and client information are available through the API. It’s impossible to develop a whole mirror system because of the limited fields. 

Cedalo —  ProEdition

No API provided yet. 

CloudMQTT

It provides the API for authentication and instance management, lacking the capability for querying the clients' information.

Documentation and SDKs

EMQX Cloud

The structure of the documentation is clearly designed. The team detailed the key factors and essential concepts for developers. The content of the documentation is script translated from its Chinese pages with some terminology or syntax issues.

SDK Languages: Python,  Go, Java, Nodejs, C, C#. 

HiveMQ Cloud

The documentation of HiveMQ Cloud is mixed with other products instead of being presented alone. It’s a bit confusing whether the feature is or is not exclusive to the cloud because the documents are shared. 

SDK Languages: Java, Python, Javascript, Go, C, Dart.

Cedalo —  ProEdition

The documentation is thorough and includes an introduction to the basics of the MQTT, making it very friendly for developers who are new to MQTT.

SDK Languages: Not found. 

CloudMQTT

Several major features are introduced, but the content is not too comprehensive enough.

SDK Languages: Ruby, Python, Nodejs, Java, Go, .Net, PHP.

Community and Event

EMQX Cloud

EMQX owns 10.5 stars on Github, indicating a fairly active community. In addition to the open-source project, there are video presentations of key features and Webinar clips on the Youtube channel. 

HiveMQ Cloud

Developers can post questions or issues on the HiveMQ community site and get answers from the team in time. The Youtube channel is also rich in content, including MQTT essentials to help beginners quickly on board and regular Webinars to bring developers the latest news. 

Cedalo —  ProEdition

You can get help by submitting questions in the forum. 

CloudMQTT

No community or event-related content was found on the website.

Comparison of the Development Capabilities and Community

 

Congratulations to EMQX for winning the most medals in development capabilities and community.

MQTT Comparison (grammar) Testing

Opinions expressed by DZone contributors are their own.

Related

  • Managed MQTT Broker Comparison — Console/Dashboard Features
  • Managed MQTT Broker Comparison — Product Packages and Pricing
  • Simultaneous, Multiple Proportion Comparisons Using Marascuilo Procedure
  • Frame Buffer Hashing for Visual Regression on Embedded Devices

Partner Resources

×

Comments

The likes didn't load as expected. Please refresh the page and try again.

  • RSS
  • X
  • Facebook

ABOUT US

  • About DZone
  • Support and feedback
  • Community research

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 215
  • Nashville, TN 37211
  • [email protected]

Let's be friends:

  • RSS
  • X
  • Facebook