Solaris Tunable Parameters Reference Manual

nfs:nfs3_max_transfer_size

Description

Controls the maximum size of the data portion of an NFS version 3 READ, WRITE, READDIR, or READDIRPLUS request. This parameter controls both the maximum size of request that the server returns as well as the maximum size of a request that the client generates.

Data Type

Integer (32–bit)

Default

32, 768 (32 kbytes)

Range

0 to 231 - 1

Units

Bytes

Dynamic?

Yes

Validation

None. Although setting the maximum transfer size on the server to 0 will probably either cause clients to malfunction or just decide not to attempt to talk to the server.

There is also a limit on the maximum transfer size when using NFS over the UDP transport. UDP has a hard limit of 64 kbytes per datagram. This 64 kbytes must include the RPC header as well as other NFS information, in addition to the data portion of the request. Setting the limit too large might result in errors from UDP and communication problems between the client and the server.

When to Change

Change this parameter to tune the size of data being passed over the network. In general, the nfs3_bsize parameter should also be updated to reflect changes in this parameter. For example, when attempting to reduce the default over-the-wire transfer size to 8 kbytes, the value of both the nfs3_max_transfer_size and nfs3_bsize parameters should be changed to 8192 to avoid using multiple operations, each reading or writing 8 kbytes. Alternately, when attempting to increase the transfer size beyond 32 kbytes, then nfs3_bsize should also be updated to reflect the increased value, otherwise no change in the over-the-wire request size is seen.

Stability Level

Unstable