I'm working to test how much performance I can get out of the mesh implementation. I'm using the BT_MESH_MODEL_ID_SENSOR_SRV ID to create a custom model type, and I am intentionally keeping the total payload under 11 bytes so that the message is not segmented. The max frequency that I'm able to send messages at is ~10Hz, and I've confirmed with a message counter and logging on the client that I'm not missing messages or having issues with any of the buffers (at least not where I would lose performance, that I can see).
Would you be able to point me in the direction of what to tune to increase the frequency higher, say, to the specified/recommended 20Hz max for this implementation?
I'm sending each message using bt_mesh_model_send, using a timer, where I've been modifying the timer frequency to test. Does the model ID or this function matter for TX frequency performance?
At 11 bytes or less, if the message is unsegmented, does that mean that it will be sent "unreliably", or is there another setting to turn off requiring and ack for each message? (I haven't been able to confirm this one way or another for how it's currently operating, or if "unreliable" is implemented the same way as the previous sdk)
At the client side, is there a max frequency that the client would be able to receive messages? (I mean, obviously there is, but any idea what that limit approaches?). For example, if I have 20 sensors and they are all sending 5 messages per second, could the client theoretically handle receiving the 100 messages / second? If so, what would you estimate the limit to be please?
Thanks, I appreciate it!
nrf connect sdk v2.1.0