MQTT Statistics monitoring
MQTT is a simple, lightweight, publish/subscribe messaging protocol designed for constrained devices and low-bandwidth, high-latency or unreliable networks. MQTT is ideal for machine-to-machine (M2M) and Internet of Things (IoT) communications, as well as for mobile applications where bandwidth and battery power are at a premium. MQTT focuses on minimizing network bandwidth and device resource requirements, while attempting to ensure reliability and some degree of assurance of delivery.
MQTT Statistics monitors
The following are monitors are available for MQTT Statistics:
Monitor | Description |
---|---|
MQTT Message Rate |
Monitors the number of messages published (Publish rate) and received (Receive rate) per second at any given time during the load test scenario run. |
MQTT Throughput |
Monitors the amount of data (in bytes) that the Vusers received from (Receipt throughput) or published to (Publish throughput) the MQTT broker at any given time during the load test scenario run. |
MQTT Active Connection |
Monitors the number of active MQTT broker connections (Active connections) at any given time during the load test scenario run. |
MQTT In-flight Messages |
Monitors the number of in-flight messages (In-flight messages) on the MQTT broker at any given time during the load test scenario run. In-flight messages are QoS 1 or 2 messages that can be in the process of being transmitted, including messages currently going through handshakes and messages that are being retried. |
MQTT $SYS Topics |
Monitors the MQTT broker machine's system resource usage during the load test scenario run. This can help isolate server performance bottlenecks. In addition to the usual $SYS measurements monitored, see Custom system measurements for the MQTT broker. |
MQTT Statistics measurements
The following are the default counters that can be monitored on the MQTT Statistics monitors:
Measurement | Description |
---|---|
Publish rate | The messages published per second over the duration of the scenario run. |
Receipt rate | The messages received per second over the duration of the scenario run. |
Active connections | The active connections to the MQTT broker over the duration of the scenario run. |
Publish throughput |
The average data traffic (in bytes per second) from published messages over the duration of the scenario run. |
Receipt throughput | The average data traffic (in bytes per second) from received messages over the duration of the scenario run. |
In-flight messages | The number of current in-flight messages over the duration of the scenario run. |
Average publish duration |
The average amount of time (in seconds) to publish a message over the duration of the scenario run. |
Average connect duration |
The average duration (in seconds) that the broker was connected over the duration of the scenario run. |
Connect statistics |
Successful vs failed broker connections. |
Custom system measurements for the MQTT broker
The following custom measurements are available for the MQTT broker machine ($SYS/broker/:
Measurement | Description |
---|---|
clients/active |
The number of currently connected clients. (deprecated) |
clients/expired | The number of disconnected persistent clients that have expired and have been removed through the persistent_client_expiration option. |
clients/inactive | The total number of persistent clients (with clean session disabled) that are registered at the broker but are currently disconnected. (deprecated) |
load/bytes/... |
The moving average of the number of bytes received / sent by the broker over different time intervals (1/5/15 min). The value returned represents the number of bytes received / sent in 1 min, averaged over 1/5/15 min. |
load/connections/... |
The moving average of the number of CONNECT packets received by the broker over different time intervals (1/5/15 min). The value returned represents the number of connections received in 1 min, averaged over 1/5/15 min. |
load/messages/... |
The moving average of the number of all types of MQTT messages received / sent by the broker over different time intervals (1/5/15 min). The value returned represents the number of messages received / sent in 1 min, averaged over 1/5/15 min. |
load/publish/sent/... |
The moving average of the number of publish messages sent by the broker over different time intervals (1/5/15 min). The value returned represents the number of publish messages sent in 1 min, averaged over 1/5/15 min. |
load/sockets/... |
The moving average of the number of socket connections opened to the broker over different time intervals (1/5/15 min). The value returned represents the number of socket connections in 1 min, averaged over 1/5/15 min. |
messages/stored | The number of messages currently held in the message store. This includes retained messages and messages queued for durable clients. |
publish/bytes/... | The total number of bytes received / sent in PUBLISH messages since the broker started. |
See also: