Here you will find information on how to tune Linux, Mac OSX, and FreeBSD hosts connected at speeds of 1Gbps or higher for maximum I/O performance for wide area network transfers. Note that several of the tuning settings described here will actually decrease performance of hosts connected at rates of 100 Mbps or less, such as home users.
- Packet Pacing When sending from a 10G host to a 1G host, it is easy to overrun the reciever, leading to packet loss and TCP backing off. Similar problems occur when a 10G host sends data to a sub-10G virtual circuit, or a 40G host sending to a 10G host. Methods to control the burst behavior of an application or OS can be introduced at the host. Tools such as Linux's tc and FreeBSD's ipfw offer a robust and predictable way to introduce QoS behavior at the source of traffic, which helps avoid packet loss.
- 40G Tuning For hosts with 40G ethernet NICS, there are a number of additional things you might need to think about if you want individual flows to be more than 5-9Gbps. First of all, if you have a 40G NIC you are probably using a NUMA-based Intel "Sandy/Ivy Bridge" motherboard. For hosts with more than 1 processor socket, this means you need to worry about what core is being used for both the interrupts and for your applications. At the present time (February 2015), CPU clock rate still matters a lot for…