Host Tuning

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.
  • 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.
  • ESnet perfSONAR Tuning In the fall of 2014, ESnet increased the default values of performance test nodes.  The settings had previously used a maximum value of 128M, and a nominal value of 64M.  The settings are now larger than fasterdata defaults, and appear below: net.core.rmem_max = 268435456net.core.wmem_max = 268435456net.ipv4.tcp_rmem = 4096 87380 134217728net.ipv4.tcp_wmem = 4096 65536 134217728 Modifying these settings has two impacts, positive and negative: More memory is allocated for every single TCP…
  • NIC Tuning Vendor specific NIC tuning information.
  • Interrupt Binding On a system with multiple 10G NICS, a 20-30% performance increase can be obtained by ensuring that the NIC driver interrupts are handled by the same CPU core as the read process/thread. This page shows you how.
  • 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)…