Bad performance of 7.0 nfs client with Solaris nfs server
kris at FreeBSD.org
Wed Feb 20 21:42:49 UTC 2008
Chuck Swiger wrote:
> On Feb 20, 2008, at 1:01 PM, Alfred Perlstein wrote:
>>> Take a look at the level of packet fragmentation you are encountering;
>>> yes, this is expected and things will work but there is extra latency
>>> added when the IP stack has to reassemble packets before the data can
>>> be delivered. Try setting the NFS rsize/wsize to 1024 or perhaps 1400
>>> and see whether that improves performance.
>>> Or, if your switch and NICs support it, see whether you can get Gb
>>> Ethernet jumbo frames working so that you don't have to fragment for
>>> 2K or 4K data packets....
>> TCP mounts do not have this problem. You can safely use
>> 32k or higher sizes with TCP without fragmentation.
> Oh, sure. But there is a bit more overhead with TCP transport than
> UDP-- for local (switched) networks, UDP generally seems to be a
> win...TCP seems to be a better choice over a VPN or some similar kind of
Actually this is no longer true. At modern LAN speeds (e.g. gige) you
can transmit packets fast enough that two things happen:
1) UDP socket buffer overruns are common, leading to packet loss.
2) the 16-bit sequence numbers wrap *much* faster than the IP fragment
lifetime (30 seconds).
These combine to cause data corruption when fragmented packets are
dropped and then reassembled with a later transmission of the same
TCP mounts should be used whenever possible thesedays (I flipped the
default mode in 8.0 the other day).
More information about the freebsd-performance