我有一个小的局域网,有几个Linux的盒子(Ubuntu 9.10)与他们的NFS共享。 这些盒子与消费级Netgear路由器(型号WGR614V9)联网,并使用有线连接。
当我第一次创buildNFS共享时,我注意到性能非常糟糕。 例如,将需要几分钟的时间才能将40 MB的数据从挂载的NFS共享复制到本地磁盘。
通过玩弄NFSconfiguration,我能够让事情运行得相当好。 我为系统导出份额而定下的configuration是:
# /etc/exports On the machine exporting the NFS share: /exprt/dir client.ip (rw,async,no_root_squash,no_subtree_check)
对于NFS客户端,我有
# /etc/fstab server.ip:/exprt/dir on /imprt/dir type nfs (rw,noatime,rsize=32768,wsize=32768,timeo=14,intr)
但是,虽然这似乎对我来说工作得相当好,但使用scp将文件从一个系统复制到另一个系统似乎比使用NFS更快。
我认为值得问一下其他人可能在类似的networking设置上使用哪些NFSconfiguration,从而获得相当好的性能。 我知道NFS可以非常敏感的select操作系统和精确的networkingconfiguration的东西。 但是,我怀疑我的设置与其他小型本地networking用户相当普遍,因此,听听哪些configuration对他们来说最好。
注意:我最初以超级用户的身份提出这个问题。 但是,我没有得到任何答复,所以我怀疑这种问题可能是错误的论坛。
scp的标准比NFS更快, 与简单的机器到机器传输相比,还有更多的开销和networking文件系统需要做的事情。
NFS应该给你大约50%的底层磁盘写入性能。 如果你的磁盘达到100MB / s,那么你应该可以做50MB / s的NFS写入。
关于安装选项:使用tcp。 如果你的networking负载很重,或者任何networking设备都很脆弱的话,udp会给你带来相当不好的结果。
我通常只使用SMB,并有良好的连接。 我想指出你到这个网站,只是因为你没有看过它。
我在这里使用rsize=8192,wsize=8192 ,我对性能没有任何抱怨。 虽然我没有测量过。