Comparison of FreeBSD/Linux TCP Throughput performance

George Neville-Neil gnn at
Sat Oct 17 20:36:42 UTC 2009


Trying to chime in with a few pointers here.  Things to check when  
doing a TCP benchmark on FreeBSD.

In particular make sure to adjust theses:

net.inet.tcp.recvbuf_max: 262144
net.inet.tcp.recvbuf_inc: 16384
net.inet.tcp.recvbuf_auto: 1

net.inet.tcp.sendbuf_max: 262144
net.inet.tcp.sendbuf_inc: 8192
net.inet.tcp.sendbuf_auto: 1

Leave the auto on, but increase the max values and you should probably  
also change the inc (increment)
values as well.  Make sure that if you increase the buffer sizes you  
increase your number of mbufs and
clusters as well.  See kern.ipc.nmbclusters, which is a kernel tunable  
that can be set in /boot/loader.conf .

Make sure that both of the systems you're testing have the same low  
level hardware support such as
TCP Segment Offload (TSO) and TCP Checkusm Offload are turned on.

Also you might want to turn this off:

net.inet.tcp.inflight.enable: 1

This page

claims that it can harm high speed connections.

Those are the basics to start with.  A search of "Tuning FreeBSD TCP"  
turns up some decent pages as well.


More information about the freebsd-performance mailing list