优化NFS的过程


在NFS服务中,我们需要考虑很多,随着网络的用户基础越来越庞大,网络资源渐渐复杂紧张。我们都在想方设法来优化我们的设施。现在我们就来谈谈优化NFS的相关内容。

优化NFS

调优的步骤:

1、测量当前网络、服务器和每个客户端的执行效率.

2、分析收集来的数据并画出图表.查找出特殊情况,例如很高的磁盘和CPU占用、已经高的磁盘使用时间

3、调整服务器

4、重复第一到第三步直到达到你渴望的性能

与NFS性能有关的问题有很多,通常可以要考虑的有以下这些选择:

WSIZE,RSIZE参数来优化NFS的执行效能

WSIZE、RSIZE对于优化NFS的效能有很大的影响.

wsize和rsize设定了SERVER和CLIENT之间往来数据块的大小,这两个参数的合理设定与很多方面有关,不仅是软件方面也有硬件方面的因素会影响这两个参数的设定例如LINUX KERNEL、网卡,交换机等等).

下面这个命令可以测试NFS的执行效能,读和写的效能可以分别测试,分别找到合适的参数.对于要测试分散的大量的数据的读写可以通过编写脚本来进行测试.在每次测试的时候最好能重复的执行一次MOUNT和unmount.

time dd if=/dev/zero of=/mnt/home/testfile bs=16k count=16384

用于测试的WSIZE,RSIZE最好是1024的倍数,对于NFS V2来说8192是RSIZE和WSIZE的最大数值,如果使用的是NFS V3则可以尝试的最大数值是32768.

如果设置的值比较大的时候,应该最好在CLIENT上进入mount上的目录中,进行一些常规操作LS,VI等等),看看有没有错误信息出现.有可能出现的典型问题有LS的时候文件不能完整的列出或者是出现错误信息,不同的操作系统有不同的最佳数值,所以对于不同的操作系统都要进行测试.

设定最佳的NFSD的COPY数目.

linux中的NFSD的COPY数目是在/etc/rc.d/init.d/nfs这个启动文件中设置的,默认是8个NFSD,对于这个参数的设置一般是要根据可能的CLIENT数目来进行设定的,和WSIZE、RSIZE一样也是要通过测试来找到最近的数值.

UDP and TCP

可以手动进行设置,也可以自动进行选择.

mount -tNFS-o sync,tcp,noatime,rsize=1024,wsize=1024 EXPORT_MACHINE:/EXPORTED_DIR /DIR

UDP有着传输速度快,非连接传输的便捷特性,但是UDP在传输上没有TCP来的稳定,当网络不稳定或者黑客入侵的时候很容易使NFS的 Performance 大幅降低甚至使网络瘫痪.所以对于不同情况的网络要有针对的选择传输协议.nfs over tcp比较稳定,nfs over udp速度较快.在机器较少网络状况较好的情况下使用UDP协议能带来较好的性能,当机器较多,网络情况复杂时推荐使用TCP协议V2只支持UDP协议).在局域网中使用UDP协议较好,因为局域网有比较稳定的网络保证,使用UDP可以带来更好的性能,在广域网中推荐使用TCP协议,TCP协议能让优化NFS在复杂的网络环境中保持最好的传输稳定性.可以参考这篇文章:http://www.hp.com.tw/ssn/unix/0212/unix021204.asp

版本的选择

V3作为默认的选择RED HAT 8默认使用V2,SOLARIS 8以上默认使用V3),可以通过vers= mount option来进行选择.

LINUX通过mount option的nfsvers=n进行选择.

相关内容

    暂无相关文章