![]() | ||||
| Credits: | The XMQ web site is provided by Linotex. | The XMQ and SPTK Windows installers are created with Advanced Installer free Open-Source license. | ||
| There were 0 unique visitors to this page | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
MQTT Performance Tests: Cluster SurvivabilityKilling Each Node Outright, Under LoadA throughput number says nothing about what happens when a node dies. This run asks a different question: with the cluster carrying traffic, does killing a node outright stop the cluster from serving? Every node is killed with The stand is the same four-node AWS cluster as the throughput results: one The run takes 600 seconds, with one crash every 90 seconds: 6 crashes in all, each node in turn and the first two again. The two nodes carrying the load — publishers on one, subscribers on the other — are among the victims, so the test covers losing the node clients are attached to, not only a quiet one. The timeline is fixed rather than random: the same nodes are killed at the same seconds on every run, so a failure can be reproduced. What the run doesThe load is 100 publishers on one node and 100 subscribers on another, 200 topics, one subscriber each, 2 messages per second per publisher at QoS 1 — about 200 messages per second routed across the cluster, over the cluster links. While that runs, each crash cycle checks three things:
The geometry changes with each cycle, so every node in the cluster is at some point a survivor, a publisher's node, a subscriber's node, and the victim. A run also fails if a node's own log shows a crash, or if the cluster loses a member or its coordinator by the end. Result
45 of 45 checks passed, 0 failed. The cluster finished with every member present, a coordinator leading, and a message still crossing from the node that was killed last to both survivors.
What this does and does not sayPublishing continued throughout. Clients whose node was killed reconnect on their own; the load's throughput dips while they do, and the delivery latency in the raw log is measured across the outage, so it is not a latency result and is not published as one. This page reports pass or fail on the cluster's behaviour, not a rate. The chaos load uses clean sessions ( The four-node AWS throughput results are on the Cluster page. The runner, the load and the generated timelines are in the repository under |
