Skip to content

Instantly share code, notes, and snippets.

Last active March 27, 2019 07:19
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
Star You must be signed in to star a gist
What would you like to do?
Just for (my own as much as others) reference, the following settings provided max 10GBe speed on an Intel x550 onboard nic with Freenas 9.10 (almost) release version (ie FreeBSD 10 based)
(based on, v10 values)
Nic options: "mtu 9014 rxcsum txcsum tso4 lro"
sysctl kern.ipc.somaxconn=2048
sysctl kern.ipc.maxsockbuf=16777216
sysctl net.inet.tcp.recvspace=4194304
sysctl net.inet.tcp.sendspace=2097152
sysctl net.inet.tcp.sendbuf_max=16777216
sysctl net.inet.tcp.recvbuf_max=16777216
sysctl net.inet.tcp.sendbuf_auto=1
sysctl net.inet.tcp.recvbuf_auto=1
sysctl net.inet.tcp.sendbuf_inc=16384
sysctl net.inet.tcp.recvbuf_inc=524288
O/C the appropriate tunables must be set for keeping these values
I have reached > 1GB/s with this config (RamDisk on Windows -> 950 nvme single disk datastore via cifs, E3-1245v5, 16GB ram, 16,2 GB testfile )
Edit: clarified used version
Yes, buffer sizes and I also found it advantageous to change the default congestion control to the H-TCP Congestion Control Algorithm. My Chelsio card was line-rate from the start, but it was significantly more expensive when I bought it.
Edit: Here is a screen grab of the network tuning for the X520-DA2 I have inservice. You can ignore the (hw.mps.max_chains) loader as it's for the HBA cards.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment