在NFS文件夹上删除和复制文件变慢

我有一个服务器托pipe图像,并允许通过NFS访问一个客户端的一个目录。
该目录包含大约70K的图像,大小为12GB。

当我在服务器上执行像cprm这样的命令时,NFS服务器的性能非常好,但是在NFS目录命令中执行客户端上的cprm命令时, real time速度慢, usersys时间快:

 real 1m33.409s user 0m0.000s sys 0m0.000s 

我的假设是:

  1. 该目录得到某种程度上locking,从而导致漫长的等待
  2. 两台服务器之间的连接是不可靠的

这是客户端的nfsstat -c的转储

 Client rpc stats: calls retrans authrefrsh 3018431 1 3018571 

在客户端安装远程文件系统时,应该尝试使用noatime选项。

man 8 mount

 noatime - Do not update inode access times on this filesystem (eg, for faster access on the news spool to speed up news servers). 

就我而言,它提高了写入性能。

组态:

尝试使用asynchronous而不是同步进行导出。 这样您就不会等待每个命令的发出(想想这会影响您的情况下的数据完整性)。

联网:

  1. 确保两个链路都运行全双工,并尽可能在整个networking中启用巨型帧。 确保所有设备和交换机具有相同的设置,否则会出现碎片问题。
  2. 使用Wireshark或其他工具检查UDP碎片。

来源

  1. http://www.tldp.org/HOWTO/NFS-HOWTO/performance.html
  2. http://lists.samba.org/archive/linux/2006-October/016332.html
  3. https://wiki.archlinux.org/index.php/NFS_Troubleshooting