Performance Guide
Chapter 6, Tuning networking resources

Monitoring NFS performance

Monitoring NFS performance

The nfsstat(NADM) command reports statistics on NFS performance. Use the -c option to display client statistics:

   Client rpc:
   calls    badcalls retrans  badxid   timeout  wait     newcred
   336033   50       413      418      299      0        0
   peekeers badresps
   0        0          
   

Client nfs: calls badcalls nclget nclsleep 335617 0 336033 0 ...

The important fields for client performance are contained in the remote procedure call (RPC) statistics:

badcalls
The number of times that an RPC call failed due to an error such as a timeout or an interrupted connection.

Note that on soft-mounted filesystems, a request is retransmitted a limited number of times before it is reported as a failed RPC call. The value of badcalls is only incremented for the final failed attempt; previous failures increase the value of retrans. All requests that fail due to a timeout are recorded in timeout.

retrans
The number of requests for service that the client had to retransmit to servers. If the value of badxid is small, the network is probably dropping packets rather than the servers being slow.

The value of retrans should not be more than 5% of the value shown for calls in the NFS statistics.

badxid
The number of responses from servers for which the client has already received a response. If a client does not receive a response to a request within a time period, it retransmits the request. It is possible that the server may service the original request. In such a case, the client receives more than one response to a request. The value of badxid is incremented for every unexpected response.

If the value of badxid is approximately equal to retrans, one or more servers probably cannot service client requests fast enough. A server may not be running enough nfsd daemons or it may be insufficiently powerful to satisfy the clients' requests. See ``Configuring NFS daemons'' for more information.

If the value of badxid is also approximately equal to timeout, you can increase the timeout value specified by the timeo mount(ADM) keyword in the file /etc/default/filesys or in the appropriate map file if you are using automount(NADM). This will allow the servers more time to respond to requests.

timeout
The number of calls that timed out waiting for response from a server.

wait
The number of requests that had to wait for an available client handle. If this is non-zero, there are insufficient biod daemons running on the client. See ``Configuring NFS daemons'' for more information

Use the -s option to display server statistics: 

   Server rpc:
   calls      badcalls   nullrecv   badlen     xdrcall
   57972      0          0          0          0
   ...
If the values of badlen and xdrcall are non-zero, the network is corrupting packets.

See also:


The following table summarizes the commands that you can use to examine the performance of NFS:

Table 6-4 Examining NFS performance

 --------------------------------------------------------------------
 Command      Field        Description
 --------------------------------------------------------------------
 nfsstat -c   badcalls     number of RPC call failures by client
              badxid       number of unnecessary repeated responses
                           received by client from servers
              retrans      number of repeated requests by client to
                           servers
              timeout      number of calls that timed out on client
              wait         number of calls that had to wait for a
                           client handle
 nfsstat -s   badlen       number of corrupted RPC requests received
                           by server
              xdrcall      number of corrupted data headers received
                           by server
 nfsstat -z                zero out statistics