We have a solution where we need to publish both BED and Sparkplug until a client Sparkplug driver is complete. (So basically, we will be delivering BED for Realtime and Sparkplug to a Historian.)
We have created a custom failover function into Ignition that starts the OPC connection to the field and the transmitters based on tag scripting.
We currently have around 215 RTU with an average of 10 tags per RTU. Sparkplug has zero issue and handles startup without issues.
BED, on the other hand has serious thread blocking issues with RTU births. We get a flood of births but once the transmitter receives a $SYS/ subscription from the broker, the RTU threads get blocked by the callback thread and trickle out a birth once per 20-30 seconds. Depending on the timing, this may result in 60-90 threads trickling out births, blocking all other updates to the broker until all births are complete.
I can supply thread dumps and logs, if you can recommend whichever processes I could bump up the debug on.
Ignition version 8.1.25. Transmission 4.0.15. Both running on Windows Server 2022