TCP Tuning Guide

Search
FreeBSD Tuning
Add these to /etc/sysctl.conf and reboot.
kern.ipc.maxsockbuf=16777216
net.inet.tcp.rfc1323=1

FreeBSD 7.0 added TCP send and receive buffer autotuning. There are some additional settings to modify. (The default for these is 256 KB, which is too small):

net.inet.tcp.sendbuf_max=16777216 
net.inet.tcp.recvbuf_max=16777216 

Here are some other new settings in 7.0 to know about. Defaults for these should be fine.

net.inet.tcp.sendbuf_auto=1      # Send buffer autotuning enabled by default
net.inet.tcp.sendbuf_inc=8192    # step size
net.inet.tcp.recvbuf_auto=1      # enabled
net.inet.tcp.recvbuf_inc=16384   # step size

Some additional information on NetBSD tuning can be found here.

Note: FreeBSD versions before 4.10 don't have SACK implemented, which limits its throughput considerably compared to other operating systems. You should upgrade to 4.10 or higher.


© 2003-2004, Lawrence Berkeley National Laboratory