Linux kernel settings for high-volume processing

The default Linux kernel settings are not sufficient for high-volume packet rate. This can lead to dropped packets and data loss. We recommend that you change both the receive buffer in NFO and the socket read buffer size in Linux kernel.

To change the receive buffer to <N> bytes, add the following string to <nfo_home>/server/etc/server.cfg:

IT_RCVBUF <N>

The valid values for parameter N are 124928 through 56623104. The default value is 12582912.

To change the socket read buffer size in Linux kernel to <N> bytes for current session, execute (under root privileges) sysctl -w net.core.rmem_max N in a console. To make this change persistent, add the following string to /etc/sysctl.conf:

net.core.rmem_max=<N>

Then run the following command to reload the settings from the file:

sysctl -p

To check what the socket read buffer size is currently used, execute the following command:

sysctl net.core.rmem_max

Notes:

  1. NFO effectively uses the least size of those buffers.

  2. NFO Virtual Appliance has the socket read buffer size 12582912 -- the default value for NFO receive buffer.