Performance Tuning

Note

This page is still under construction. More information coming soon!

Tuning the Linux Network Stack

As of today, most linux distributions still ship with the assumption that they will be multi-user systems, meaning resource limits are set for a normal human doing day-to-day desktop work. By default the Linux network stack is not setup for high speed large file transfer across WAN links. If we want to be able to transmit and receiver data at high speeds, we urge you to tune some network stack parameters to increase the TCP buffer size. This will reduce the overall network latency of your system.

This can be done by creating a file under /etc/pervices.conf with the following contents:

# For more information, see sysctl.conf(5) and sysctl.d(5).
# Updates for Gnu Radio
net.core.rmem_max = 50000000
net.core.wmem_max = 1000000
kernel.shmmax = 2147483648

Note

Although we don’t recommend it, you can edit these values on the fly with sudo sysctl -w {name of parameter}

Once the parameters are set, you can verify the changes with sudo sysctl {name of parameter}. For example

$ sudo sysctl net.core.wmem_max
net.core.wmem_max = 1000000

Feel free to experiment with some of the other tweaks listed here. At Per Vices, we have optimized our entire internal network for high speed large file transfer across WAN links. To read more about how you can do the same, check out our application note on the topic.