The write-up is taken from RedHat Using nfsstat and nfsiostat to troubleshoot NFS performance issues on Linux
NFS relies on the existing network infrastructure, any glitches on the network may affect the performance of the connection. One of the tools that can be used is nfsstat
% yum install nfs-utils
The nfsstat command
The nfsstat command displays statistical information about the NFS and Remote Procedure Call (RPC) interfaces to the kernel.
On Server Side,
% nfsstat -s
Server rpc stats:
calls badcalls badclnt badauth xdrcall
107310012 0 0 0 0
The most important field to check is the badcalls, which represents the total number of calls rejected by the RPC layer. When the badcalls is greater than 0, than the underlying network needs to be checked, as there might be latency.
On NFS Client Side,
% nfsstat -c
Client rpc stats:
calls retrans authrefrsh
23158 0 23172
Client nfs v3:
null getattr setattr lookup access readlink
0 0% 7237 31% 7 0% 1443 6% 7874 34% 11 0%
read write create mkdir symlink mknod
578 2% 4548 19% 585 2% 1 0% 0 0% 0 0%
remove rmdir rename link readdir readdirplus
0 0% 0 0% 0 0% 0 0% 0 0% 51 0%
fsstat fsinfo pathconf commit
25 0% 10 0% 5 0% 781 3%
The client is doing well as it has relatively few retransmission requests. If you are encountering excessive retransmissions, you may want to adjust data transfer buffer sizes, which are specified by the mount command options rsize and size.
Check for dropped packets
Check dropped packet by running the following command on both the server and the client:
% nfsstat -o net
Client packet stats:
packets udp tcp tcpconn
0 0 0 0