Data Expedition, Inc. ®

Move Data Faster

Support

Support
Tech Notes
Performance
Network Performance
Managing Bandwidth
Common Problems
Compression
RAID Performance
Loss, Latency, Speed
Network Emulators
Rec. Hardware
UDP Tuning
NAS Tuning
Multigigabit

Network Performance

Page Index:
Linux
FreeBSD
Solaris
Others
Tech Note History
Sep042014MTP 4.0 Values
Jun042012MTP 3.15.2 Values
Oct262010First Post

UDP Tuning

MTP/IP software uses the UDP/IP packet format to provide network and operating system compatibility.  Some legacy operating systems place very restrictive limits on the performance of UDP/IP protocols.  In particular, the UDP/IP buffer size determines how much data the operating system will store while waiting for other network and disk operations to complete.  If this buffer is not adequate, then performance will be reduced.

Only a few of the systems currently supported by MTP/IP experience this problem.  Windows XP+ and Mac OS X 10.5+ do not have this problem.

A buffer size of at least 1 megabyte is necessary, particularly for operation on gigabit or faster networks.  MTP/IP will utilize buffers up to 2 megabytes each for sending and receiving, if the operating system allows it.  The instructions below require administrative access and will raise each UDP/IP buffer limit to 1 megabyte (1048576).  Use 2 megabytes (2097152 bytes) for network speeds above 1 gigabit per second.

Linux

Check the current UDP/IP buffer limit by typing the following commands:

sysctl net.core.wmem_max sysctl net.core.rmem_max

If the values are less than 1048576 bytes you should add the following lines to the /etc/sysctl.conf file:

net.core.wmem_max=1048576 net.core.rmem_max=1048576

Changes to /etc/sysctl.conf do not take effect until reboot.  To update the values immediately, type the following commands as root:

sysctl -w net.core.wmem_max=1048576 sysctl -w net.core.rmem_max=1048576

FreeBSD

Check the current UDP/IP buffer limit by typing the following command:

sysctl kern.ipc.maxsockbuf

If the value is less than 1048576 bytes you should add the following lines to the /etc/sysctl.conf file (create it if necessary):

kern.ipc.maxsockbuf=1048576

Changes to /etc/sysctl.conf do not take effect until reboot.  To update the values immediately, type the following commands as root:

sysctl -w kern.ipc.maxsockbuf=1048576

Solaris 8 or 9

Check the current UDP/IP buffer limit by typing the following command:

ndd /dev/udp udp_max_buf

If the value is less than 1048576 bytes you should add the following lines to the /etc/init.d/inetinit file:

ndd -set /dev/udp udp_max_buf 1048576

Changes to /etc/init.d/inetinit do not take effect until reboot.  To update the values immediately, type the following commands as root:

ndd -set /dev/udp udp_max_buf 1048576

Others

As of this writing, all other supported systems are believed to provide adequate UDP/IP buffering by default.  You can verify this by setting debugging to level 1 and looking for a line such as this:

M 20140904 09:46:37.021 MTP1: UDP SO_RCVBUF 2097152, SO_SNDBUF 2097152

If either of the given values is less than 1048576, then you should examine the host operating system to determine if it is limiting UDP/IP buffer sizes, or contact DEI for assistance.