Bewertung für den beliebten öffentlichen Online-MQTT-Broker

Viele MQTT-Projekte und IoT-Dienste bieten Öffentlicher Online-MQTT-Broker. Benutzer können sie direkt für MQTT-Lernen, Testen, Prototyping und sogar kleine Anwendungen ohne Selbstbereitstellung verwenden, bequem und schnell mit Zeit- und Energieeinsparung.

Aufgrund unterschiedlicher Standorte, Netzwerkumgebungen und Serverlasten sind jedoch auch die Stabilität und die Verzögerung der Nachrichtenübertragung bei jedem öffentlichen Broker unterschiedlich. Obwohl fast alle Dienstanbieter erklären, dass sie nicht für die Stabilität und Sicherheit ihrer kostenlosen Dienste verantwortlich sind, müssen Benutzer diese Faktoren bei der Nutzung berücksichtigen.

Daher sortiert dieser Artikel einige beliebte kostenlose Online-MQTT-Broker aus, bewertet und vergleicht sie anhand von Zugänglichkeit, Netzwerkverzögerung, kleinen Leistungstests und tatsächlicher Nachrichtenübertragungsverzögerung. Wir hoffen, Ihnen eine Referenz für Ihre Wahl geben zu können.

Testobjekt

Dieser Artikel wählt die folgenden häufig verwendeten öffentlichen MQTT-Broker aus:

NameMakleradresseTCPTLSWebSocket
EMQX (weltweit)broker.emqx.io188388838083,8084
EMQX (CN)broker-cn.emqx.io188388838083,8084
Finsternismqtt.eclipseprojects.io1883888380, 443
Mücketest.mosquitto.org18838883, 888480, 443
HiveMQbroker.hivemq.com1883N / A8000

EMQX

Es ist ein kostenloses Online MQTT 5-Broker zur Verfügung gestellt von EMQX-Cloud. Es werden zwei Zugangspunkte bereitgestellt, Global und CN, von denen EMQX (Global) in AWS, Oregon, USA, und EMQX (CN) in Tencent Cloud, Shanghai, bereitgestellt wird.

Beide Access Points sind EMQX-Cluster, die aus 2 Knoten bestehen. Später können je nach tatsächlichem Zugriffsvolumen und Auslastung automatisch weitere Knoten hinzugefügt werden. Laut der Hintergrundanzeige basiert der Server auf EMQX-Unternehmen 4.2.6, und die aktuelle Laufzeit beträgt 128 Tage.

Hinweis: Die beiden Access Points von EMQX (Global) und EMQX (CN) kommunizieren nicht miteinander.

Verwandte Einführung: Kostenloser öffentlicher MQTT 5-Broker

Finsternis

Es ist ein kostenloser Online-MQTT-Broker, der von Eclipse IoT bereitgestellt wird. Die aufgelöste IP zeigt, dass sie in Azure, Virginia, USA, bereitgestellt wird. Es ist erwähnenswert, dass die vorherige Zugriffsadresse des Servers immer war mqtt.eclipse.org. Aus irgendeinem Grund wurde sie auf die aktuelle Zugangsadresse geändert. Zum Zeitpunkt des Schreibens dieses Artikels habe ich die alte Adresse verwendet und konnte nicht darauf zugreifen. Einmal dachte ich, der Server sei gestoppt worden. Als ich schließlich über HTTP auf den ursprünglichen Zugriffspunkt zugegriffen habe, habe ich festgestellt, dass eine permanente 301-Umleitung vorgenommen wurde.

Nach der Abfrage des $SYS/# System-Thema, der Server basiert auf dem Mosquitto 2.0.12, und die aktuelle Laufzeit beträgt 71227 Sekunden. Es wird vermutet, dass der Dienst vor einem Tag neu gestartet wurde.

Verwandte Einführung: mqtt.eclipseprojects.io

Mücke

Es ist ein kostenloser Online-MQTT-Broker, der von der Mosquitto-Community bereitgestellt wird, und die aufgelöste IP zeigt, dass er in der französischen Region Roubaix von OVH eingesetzt wird. Im Test wurde festgestellt, dass die Netzwerkverzögerung des Access Points unter normalen Bedingungen relativ hoch ist. Glücklicherweise ist die Paketverlustrate jedoch relativ gering, und es kann zu bestimmten Zeiten zu Verbindungsausfällen kommen.

Nach der Abfrage des $SYS/# System-Thema, der Server basiert auf dem Mosquitto 2.0.12, und die aktuelle Laufzeit beträgt 28519 Sekunden. Es wird vermutet, dass der Dienst innerhalb eines Tages neu gestartet wurde.

Verwandte Einführung: test.mosquitto.org

HiveMQ

Es ist ein kostenloser Online-MQTT-Broker, der von HiveMQ bereitgestellt wird, und die aufgelöste IP zeigt, dass er in AWS, Frankfurt, Deutschland, bereitgestellt wird.

Weil es $SYS/# Systemthema nicht abonniert werden kann, ist es unmöglich, den Typ des Brokers, der den Dienst bereitstellt, die spezifische Version und die aktuelle Laufzeit zu erhalten.

Verwandte Einführung: mqtt-dashboard.com

Test Umgebung

  • Netzwerk: USA, AWS Oregon
  • Betriebssystem: macOS 10.15.7

Hinweis: Aufgrund unterschiedlicher Standorte ist die Netzwerkumgebung unterschiedlich, was zu Abweichungen in den Testergebnissen dieses Artikels führen kann.

Zugänglichkeitstest

In diesem Teil haben wir die verwendet MQTT-Client-Tool – MQTT X für diese Prüfung. Wir versuchen eine Verbindung über TCP 1883 aufzubauen. Nach mehrmaligem Testen sind alle Server erreichbar. Die Gesamtergebnisse sind wie folgt:

NameMakleradresseTCPVerfügbar
EMQXbroker.emqx.io1883JAWOHL
EMQX(CN)broker-cn.emqx.io1883JAWOHL
Finsternismqtt.eclipseprojects.io1883JAWOHL
Mücketest.mosquitto.org1883JAWOHL
HiveMQbroker.hivemq.com1883JAWOHL

MQTT X

Testdaten

MQTT X hat die Funktion der Verbindung, des Imports und des Exports. Nachfolgend die im Test dieses Artikels verwendeten Verbindungsdaten, die per Datenwiederherstellung in MQTT X importiert werden können.

MQTT X-Datenwiederherstellung

Internationaler Netzwerkverzögerungstest

Wir überprüfen die Netzwerkkonnektivität und die Netzwerkverzögerung durch den Netzwerkzugriff. Da einige Dienste das ICMP-Protokoll deaktiviert haben und die Netzwerkbedingungen an verschiedenen Orten unterschiedlich sind, wird hier die WebSocket-Adresse verwendet. Mit Hilfe der HTTP-Geschwindigkeitsfunktion des beliebten heimischen Geschwindigkeitsmesstools Webmaster Tools führen wir den Test durch:

Testergebnis

  • Auflösungszeit: die für die DNS-Auflösung erforderliche Zeit
  • Verbindungszeit: Die Zeit, die zum Aufbau einer TCP-Verbindung benötigt wird
EMQXLösungszeitVerbindungszeit
Die Engel15ms33ms
Tokio
China Hongkong
Singapur55ms201ms
Südkorea
Deutschland15ms160ms
EMQX(CN)LösungszeitVerbindungszeit
Die Engel<1ms156ms
Tokio<1ms90ms
China Hongkong<1ms35ms
Singapur<1ms102ms
Südkorea
Deutschland17ms209ms
MückeLösungszeitVerbindungszeit
<1ms434ms
Tokio<1ms703ms
China Hongkong<1ms629ms
Singapur<1ms538ms
Südkorea<1ms817ms
Deutschland2ms59ms
FinsternisLösungszeitVerbindungszeit
Die Engel<1ms72ms
Tokio<1ms155ms
China Hongkong16ms218ms
Singapur<1ms237ms
Südkorea<1ms225ms
Deutschland184ms88ms
HiveMQLösungszeitVerbindungszeit
Die Engel5ms151ms
Tokio2ms248ms
China Hongkong7ms256ms
Singapur7ms194ms
Südkorea
Deutschland2ms2ms

Kleiner Leistungstest

Mit Hilfe des Open-Source-MQTT-Performance-Test-Tools emqtt-bankwir testen, ob der Client Pub/Sub hat eine Ratenbegrenzung.

Aus praktischen Erwägungen , dient dieser Test nicht dazu, die obere Ratengrenze jedes Zugangspunkts zu untersuchen, sondern zu berücksichtigen, dass jeder Zugangspunkt die herkömmliche Nutzungsintensität erfüllen kann. Das in dieser Runde entworfene Szenario sieht vor, dass die Sub/Pub-Nachricht eines einzelnen Clients 1000 msg/s für 1 Minute beträgt und die Nachrichtengröße 256 Byte beträgt. Dann erfassen wir, ob jeder Zugangspunkt dem Standard entspricht und ob die Geschwindigkeit begrenzt ist. Die folgende Abbildung zeigt die Testarchitektur:

Testarchitektur

Nachdem emqtt-bench bereit ist, wird jeder der folgenden Sub/Pub-Befehle in einem anderen Fenster ausgeführt:

NameMakleradresseTCPOb den Standard erreichen (Pub)Ob den Standard erreichen (Sub)
EMQXbroker.emqx.io1883JAWOHLJAWOHL
EMQX(CN)broker-cn.emqx.io1883JAWOHLJAWOHL
Finsternismqtt.eclipseprojects.io1883JAWOHLJAWOHL
Mücketest.mosquitto.org1883Die Rate schwankt um 50 msg/sDie Rate schwankt zwischen 0-50 msg/s
HiveMQbroker.hivemq.com1883JAWOHLDie Rate liegt stabil bei etwa 50 msg/s
# EMQX
## Sub
./emqtt_bench sub -t t/1 -c 1 -h broker.emqx.io
## Pub
./emqtt_bench pub -t t/1 -c 1 -h broker.emqx.io -I 1

# EMQX CN
## Sub
./emqtt_bench sub -t t/1 -c 1 -h broker-cn.emqx.io
## Pub
./emqtt_bench pub -t t/1 -c 1 -h broker-cn.emqx.io -I 1

# Eclipse
## Sub
./emqtt_bench sub -t t/1 -c 1 -h mqtt.eclipseprojects.io
## Pub
./emqtt_bench pub -t t/1 -c 1 -h mqtt.eclipseprojects.io -I 1

# Mosquitto
## Sub
./emqtt_bench sub -t t/1 -c 1 -h test.mosquitto.org
## Pub
./emqtt_bench pub -t t/1 -c 1 -h test.mosquitto.org -I 1

# HiveMQ
## Sub
./emqtt_bench sub -t t/1 -c 1 -h broker.hivemq.com
## Pub
./emqtt_bench pub -t t/1 -c 1 -h broker.hivemq.com -I 1

Test der tatsächlichen Nachrichtenübertragungsverzögerung

Zweck: Testen der für die Übertragung der Nachricht vom Pub zum Sub erforderlichen Zeit, Abtasten und Analysieren der Übertragungsstabilität und der durchschnittlich erforderlichen Zeit.

Testschritt: Der Client verbindet sich mit dem öffentlichen Server und veröffentlicht alle 5 Sekunden eine Nachricht mit Zeitstempel. Nachdem der Abonnent die Nachricht erhalten hat, wird der Zeitstempel in der Nachricht vom aktuellen Zeitstempel subtrahiert und die Nachrichtenverzögerung wird berechnet und in der Datenbank aufgezeichnet. Probenahme und Analyse werden nach 30 Minuten Statistik durchgeführt.

Das Testmodell ist wie folgt:

mqtt-Broker-Testmodell

Testcode: free-online-public-broker-test.js

Geschichte der Zeitverzögerung

Zählen Sie die Client-Nachrichtenverzögerung und entfernen Sie Daten mit großen Fehlern (>5000 ms):

MQTT-Broker Zeitverzögerungsverlauf

Durchschnittliche Verzögerung

NameMakleradresseTCPDurchschnittliche Verzögerung
EMQXbroker.emqx.io1883207 ms
EMQX(CN)broker-cn.emqx.io1883164 ms
Finsternismqtt.eclipseprojects.io1883250 ms
Mücketest.mosquitto.org1883378 ms
HiveMQbroker.hivemq.com1883252 ms

In mehreren Tests hat jeder kostenlose Online-MQTT-Server insgesamt ein brauchbares Niveau erreicht. Allerdings gibt es noch deutliche Unterschiede zwischen den Servern bei den spezifischen Indikatoren. Es gibt Stabilitäts- und Benutzerfreundlichkeitsprobleme wie niedrige Ratenbegrenzung, instabile Netzwerkverzögerung oder sogar einige Server, von denen vermutet wird, dass sie einen geplanten Neustartmechanismus haben, was den Benutzern selbst bei einfachen Tests und Prototypen eine schlechte Erfahrung bringt.

Der obige Inhalt beweist in gewisser Weise auch, dass die relevante Leistung der IoT-Plattform durch den geografischen Standort des Geräts beeinflusst wird. Daher hat der kostenlose Online-MQTT-Dienst EMQX, der nahe gelegene Zugangspunkte für Benutzer in verschiedenen Regionen basierend auf dem Netzwerk hochwertiger Cloud-Dienstanbieter bereitstellt, im Vergleich gewisse Vorteile, und die Testdaten sind in allen Aspekten relativ führend.

Ursprünglich erschienen bei

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *