Bandwidth estimation for streaming data
- Last UpdatedJan 15, 2025
- 2 minute read
The network bandwidth required can be estimated by adding the data transmission rate for all data types and the network overhead. Network overhead is approximately 4% of the total transmission rate, assuming the data rate is above 1000 points/sec. The estimated bandwidth would be the minimum bandwidth required for replication with reliable network (always connected). However, if there are network disconnections/reconnections, using only the minimum required bandwidth would make the catch-up process take a long time if possible. It is recommended that you add a 30% safe margin to the estimated bandwidth to ensure that the forwarding process can complete quickly if an unexpected network outage occurs.
The formula for estimated bandwidth is as follows:
BandwidthStreaming = 1.04 * 8 * SEach Tag Type (Data Rate * Transmission Item Size)
BandwidthRecommendedStreaming = 1.3 * BandwidthStreaming
For example, with the following replication configuration:
-
Simple Replication - 798 4-byte analog tags changing every second.
-
Simple Replication - 815 discrete tags changing every second.
-
Simple Replication - 187 string tags (20 bytes string) every second.
-
1 Minute Analog Summary - 800 tags
-
1 Hour Analog Summary - 800 tags
-
1 Minute State Summary (Analog, 10 states) - 800 tags
-
1 Hour State Summary (Analog, 10 states) - 800 tags
The average number of bytes transmitted every second for each of the above replication types is as follows. For a table of transmission sizes, see Storage and network transmission sizes for tags.
-
798 * 34 = 27132 Bytes
-
815 * 31 = 25265 Bytes
-
187 * 52 = 9724 Bytes
-
800 * 96 / 60 = 1280 Bytes
-
800 * 96 / 3600 = 21 Bytes
-
800 * 710 / 60 = 9467 Bytes
-
800 * 710 / 3600 = 157.8 Bytes
BandwidthStreaming = 1.04 * 8 * (27132 + 25265 + 9724 + 1280 + 21 + 9467 + 158) = 608 Kbps
BandwidthRecommendedStreaming = 1.3 * 608 Kbps = 790 Kbps