Unlike the NFS Version 2 protocol, the NFS Version 3 protocol can handle files that are larger than 2 Gbytes. For information about handling large files in NFS, see NFS Large File Support.
The NFS Version 3 protocol enables safe asynchronous writes on the server, which improves performance by allowing the server to cache client write requests in memory. The client no longer waits for the server to commit the changes to disk, so the response time is faster. Also, the server can batch the requests, which improves the response time on the server.
Many Solaris NFS Version 3 operations return the file attributes, which are stored in the local cache. Because the cache is updated more often, the requirement to perform a separate operation to update this data arises less often. Therefore, the number of Remote Procedure Calls (RPC) to the server is reduced, improving performance.
The process for verifying file access permissions has been improved. Version 2 generated a “write error” message or a “read error” message if users tried to copy a remote file without the appropriate permissions. In Version 3, the permissions are checked before the file is opened, so the error is reported as an “open error.”
The NFS Version 3 protocol removes the 8-Kbyte transfer size limit. Clients and servers can negotiate whatever transfer size the clients and servers support, rather than conform to the 8-Kbyte limit that Version 2 imposed. Note that in earlier Solaris implementations, the protocol defaulted to a 32-Kbyte transfer size. Starting in the Oracle Solaris 10 release, restrictions on wire transfer sizes were relaxed. The transfer size is based on the capabilities of the underlying transport.