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
NetbSD
Solaris
Others
Tech Note History
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 16 megabytes for receiving and 4 megabytes for sending if the operating system allows it.  The instructions below require administrative access and will raise each UDP/IP buffer limit to 1 megabyte.  Use larger values for network speeds of hundreds of megabits per second or faster.

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

NetBSD

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

sysctl kern.sbmax

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.sbmax=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.sbmax=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 the debugging to level 1 and looking for a line such as this:

M 20120604 09:14:03 MTP1: UDP SO_RCVBUF 3670016, SO_SNDBUF 3670016

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.