Max Message Rate and Stress Response Questions
-
Has anyone done some testing to see what the maximum overall message rate the library/hardware can support? Or what happens when that rate is exceeded?
Failing that, does anyone have an idea of a ballpark figure or rule of thumb to keep the system stable?
How does MySensors deal with messages clashing? Is there a way to guarantee certain messages will get through? Or assign a higher priority to some? Or is it up to the sketch author to send messages with the acknowledge flag set and then manually process ack receipts/retry on fails?
For reference my system is based on Arduino/RFM69-433/MQTT.
-
The different transports allow for different collision handling, since the transports are inherently different. So there is no way to answer his question generically.
AWI stress tested rs485, see https://forum.mysensors.org/topic/5051/rs485-stress-test
For nrf24, it would probably depend a lot on the quality of the radio chip (see ) and the power supply. The collective experience is that the nrf clones are extremely sensitive to noise on the power supply, which would affect the chance of getting a message through.
The length of the message also makes a big difference, which we have seen bite signed messages since they always use the maximum message size. I don't think the rfm modules have this problem.
The network topolgy would probably have a big effect, since a repeter essentially cuts the available bandwidth in half.
See also https://forum.mysensors.org/post/55977 for a discussion on a similar topic.
I haven't seen anyone posting results from a rfm stress test. Please share the results if you do any stress tests for your particular setup. It would be interesting to see.
-
Thanks, I will look at doing some stress testing I think. I'm starting to see the occasional missed message already and I'm only averaging 1 message per 3 seconds.
Does anyone know how the RFM modules handle collision/retransmission?