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 (or more) without some tuning as well. The important factors are: use jumbo frames: performance will be 4-5 times better using 9K MTUs 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… 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. In addition to these steps, please see the troubleshooting quickstart guide to assist in tuning efforts. Ethernet Flow Control… Read More
There has been much debate about ECN (Explicit Congestion Notification), and its impact on high-performance data transfers which use TCP. RFC 3168 describes ECN:https://tools.ietf.org/html/rfc3168 Section 6.1.2 describes the behavior of a TCP sender. In the first paragraph of section 6.1.2, there is the following text: If the sender receives an ECN-Echo (ECE) ACK packet (that is, an ACK … Read More