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.
- Background Information Proper host tuning can lead to up to 100x performance increases. Here are the reasons why.
- Linux Tuning This page contains a quick reference guide for Linux 2.6 tuning, TCP Tuning, NIC tuning, and more for Linux 2.6. See also in this category, the Linux Tuning Expert page and Measurement Host Tuning.
- 40G/100G Tuning For hosts with 40G/100G Ethernet NICs, there are some additional things you'll want to tune to maximize throughput. The most important things to configure are: CPU governor to 'performance' TCP buffer size set to the maximum (2GB) make sure you are using the correct cores for both IRQ and user processes enable on 'fair queuing' (FQ) with a good pacing rate for your environment. No other tuning should be needed for modern Linux OS's (RHEL/CentOS 7.2 and higher, or systems with a 4.x kernel). For…
- Packet Pacing When sending from a faster host to a slower host, it is easy to overrun the receiver, 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, or a 40G/100G host with a fast CPU sender to a 40G/100G host with a slower CPU. These issues are even more pronounced when using tools that use parallel streams, such as GridFTP. On some long paths (50-80ms RTT), we've seen TCP performance…
- Virtual Machines We don't have a lot of experience tuning virtual machines for network throughput, but here are a few points that people have told us. Please send us updates/corrections to the information on this page. To get the best network performance on a Linux VM running on a native Linux host, increase txqueuelen in host OS, and set all other tuning parameters in the guest OS. For more information see: KVM Tuning XEN Tuning VMWare Tuning (use the VMXNET3 driver)…
- NIC Tuning Vendor specific NIC tuning information.
- Mac OSX Tuning Tuning settings for Mac OSX.
- FreeBSD Tuning Tuning settings for FreeBSD.
- MS Windows Tuning settings for Microsoft Windows.
- Other Operating Systems Tuning Information on Solaris and other OSes.