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.