Dear colleagues, thank you for this excellent project!
Does CycloneDDS have any recommendations on choosing optimal FragmentSize for different setups? I have studied the docs, found some setup recommendations in the Internet, tried different values myself, but I'd like to know if there is a common approach.
I am transferring large messages (9MB) over 10 Gb Ethernet with large MTU, targeting for latency. As I understand, I should have MaxMessageSize close to the max UDP datagram size (65500 bytes, as often recommended). I have also enabled recommended large socket buffer size settings both in the OS and in the DDS. But what about FragmentSize? Should it be close to the network MTU, or should it be set closer to the maximum message size, if I rely on the kernel IP fragmentation? As I guess, small FragmentSize doesn't have too much sense for large data samples, because it just increases the size overhead as the small fragments are still being packed into a single datagram. But what size should I choose? The closest discussion I can find is #1938, and it mostly confirms my thoughts, but doesn't answer my questions directly.
And another question: does it make sense to increase FragmentSize for best-effort QoS transmission, as there won't be any retransmission in case of packet loss anyway?
Thank you in advance.
Dear colleagues, thank you for this excellent project!
Does CycloneDDS have any recommendations on choosing optimal FragmentSize for different setups? I have studied the docs, found some setup recommendations in the Internet, tried different values myself, but I'd like to know if there is a common approach.
I am transferring large messages (9MB) over 10 Gb Ethernet with large MTU, targeting for latency. As I understand, I should have MaxMessageSize close to the max UDP datagram size (65500 bytes, as often recommended). I have also enabled recommended large socket buffer size settings both in the OS and in the DDS. But what about FragmentSize? Should it be close to the network MTU, or should it be set closer to the maximum message size, if I rely on the kernel IP fragmentation? As I guess, small FragmentSize doesn't have too much sense for large data samples, because it just increases the size overhead as the small fragments are still being packed into a single datagram. But what size should I choose? The closest discussion I can find is #1938, and it mostly confirms my thoughts, but doesn't answer my questions directly.
And another question: does it make sense to increase FragmentSize for best-effort QoS transmission, as there won't be any retransmission in case of packet loss anyway?
Thank you in advance.