Network bandwidth estimation
How to calculate the network load of your data collection
Last updated
Was this helpful?
How to calculate the network load of your data collection
Here is the method for calculating the amount of data expected to travel over your internet connection each second.
This is the protocol overhead (AMQP, TLS, TCP) plus the variable content size
222 + 10 * number_of_tags
This can be calculated as an average or estimated peak. Peak values should be used as a guide only since there are many factors that would cause a peak to smooth out over a few seconds.
SUM(number_of_sources * polls per second)
For example:
10 sources at 1s = 10 packets/s
100 source at 60s = 1.7 packets/s (100/s peak)
You will need to calculate the bandwidth for each record/rate combination. Generally, bandwidth is measured in bits per seconds (not bytes), so multiply bytes by 8 to get bits.
Let's go through a worked example. We have
1 Meter: 10 tags per second
10 Inverters: 20 tags per second
1 weather station: 15 tags per minute
Packet size: 222 + 10 * 10 = 322
1 meter @ 1/s = 1 packets/s
bandwidth: (322 * 8)bits * 1 packet/s = 2576bps / 1024 = 2.52Kbps
Packet size: 222 + 10 * 20 = 422
10 inverters @ 1/s = 10 packets/s
bandwidth: (422 * 8)bits * 10 packet/s / 1024 = 32.97Kbps
Packet size: 222 + 10 * 15 = 372
1 station @ 1/m = 0.0167 packets/s
bandwidth: (372 * 8)bits * 0.0167 packet/s = 49.6bps
Baseline: 2.52 + 32.97 + 0.05 = 35.54Kbps
We generally recommend adding 15% for TCP overhead (ACK, retransmission) and a safety margin of 30%, giving an overall estimate of:
35.54 * 1.15 * 1.3 = 53.13Kbps
Generally speaking, all data capture happens on the local network where the Ardexa node resides. We have found that for most protocols, you can expect somewhere between half (modbus), similar (OPCUA) or double (certain databases) the outgoing data rate to be used on the local network.
Last updated
Was this helpful?
Was this helpful?