One of the principle causes of poor data transfer performance is packet loss between the data transfer client and server hosts. There are many possible causes of packet loss, ranging from bad or failing hardware to misconfigured hosts or network equipment. Network design, coupled with proper configuration of hosts, routers and switches, can eliminate packet loss and result in significantly improved data transfer performance.
UDP will not get a full 10Gbps without some tuning as well. The important factors are: packet size: best performance is MTU size minus packet header size. For example for a 9000Byte MTU, use 8972 for IPV4, and 8952 for IPV6. socket buffer size: For UDP, buffer size is not related to RTT the way TCP is, but the defaults are still not large enough. Setting the socket buffer to 4M seems to help a lot in most cases core selection: UDP at 10G is typically CPU limited, so its important to pick the… Read More »
While many of the causes of poor performance reside in end hosts, network devices can certainly cause problems of their own. Some of the problems caused by routers and switches are simple configuration errors, while other problems are caused by hardware limitations. Ethernet Flow Control Flow control allows a device receiving Ethernet frames to notify the sender that the reciever is having difficulty processing the frames it is being sent - this typically occurs when the receiver is… Read More »