Tuning networking resources

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:

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.

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.

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.

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

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:

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

Next topic: Tuning NFS performance
Previous topic: Schematic diagram of how NFS works

© 2003 Caldera International, Inc. All rights reserved.
SCO OpenServer Release 5.0.7 -- 11 February 2003