An Azure IoT Hub has a series of metrics and one I had been using was “Total Device Data Usage”. To better understand what it was displaying I modified my Azure IoT Hub MQTT Test Application to display the size of the JOSN payload.
The size of the packets sent and the total device data appeared to map pretty well but I was also interested in the Transport Layer Security (TLS) and Messaging Queuing Telemetry Transport (MQTT) overheads.
To get an idea of the overheads I fired up LiveTcpUdpWatch by Nirsoft and noted down the traffic measure on port 8883.
Launching the MQTTNet client sending every 30 seconds resulted in traffic like this
4179b - Establishing connection 4284b - 105b 4317b - 33b 4386b - 69b 4455b - 69b 4524b - 69b 4593b - 69b 4662b - 69b 4731b - 69b 4800b - 69b 4869b - 69b 4938b - 69b 5007b - 69b 5076b - 69b 5145b - 69b 5214b - 69b 5288b - 69b
So it looks like my very rough numbers are close to the numbers discussed in the above article. I need to explore the impact of keep-alive messages and other background operations.