快速业务通道

自动挂载文件系统:autofs

作者 佚名技术 来源 Linux系统 浏览 发布时间 2012-04-17
ition

  如果未指定,系统根据nfs version来设置缺省的risize和wsize大小.大多数情况是4K对于nfs v2,最大是8K,对于v3,通过server端kernel设置risize和wsize的限制

  vi /usr/src/linux2.4.22/include/linux/nfsd/const.h

  修改常量: NFSSVC_MAXBLKSIZE

  所有的2.4的的client都支持最大 32K的传输块.系统缺省的块可能会太大或者太小,这主要取决于你的kernel和你的网卡,太大或者太小都有可能导致nfs速度很慢.

  具体的可以使用 Bonnie,Bonnie ,iozone等benchmark来测试不同risize和wsize下nfs的速度.当然,也可以使用dd来测试.

  #time dd if=/dev/zero of=/testfs/testfile bs=8k count=1024  测试nfs写

  #time dd if=/testfs/testfile of=/dev/null bs=8k        测试nfs读

  测试时文件的大小至少是系统RAM的两倍,每次测试都使用umount 和mount对/testfs进行挂载,通过比较不同的块大小,得到优化的块大小.

  2.网络传输包的大小

  网络在包传输过程,对包要进行分组,过大或者过小都不能很好的利用网络的带宽,对网络要进行测试和调优.可以使用ping -s 2048 -f hostname进行ping,尝试不同的package size,这样可以看到包的丢失情况.同时,可以使用nfsstat -o net 测试nfs使用udp传输时丢包的多少.统计不能清零,要先运行此命令记住该值,然后可以再次运行统计.如果,经过上面的统计丢包很多.那么可以看看网络传输包的大小.使用下面的命令:

  #tracepath node1/端口号

  #ifconfig eth0

  比较网卡的mtu和刚刚的pmtu,使用#ifconfig eth0 mtu 16436设置网卡的mtu和测试的一致.当然如果risize和wsize比mtu的值大,那么的话,server端的包传到client端就要进行重组,这是要消耗client端的cpu资源.此外,包重组可能导致网络的不可信和丢包,任何的丢包都会是的rpc请求重新传输,rpc请求的重传有会导致超时,严重降低nfs的性能.

  可以通过查看

  /proc/sys/net/ipv4/ipfrag_high_thresh

  /proc/sys/net/ipv4/ipfrag_low_thresh

  了解系统可以处理的包的数目,如果网络包到达了ipfrag_high_thresh,那么系统就会开始丢包,直到包的数目到达ipfrag_low_thresh.

  3.nfs挂载的优化

  timeo:  如果超时,客户端等待的时间,以十分之一秒计算

  retrans: 超时尝试的次数.

  bg:    后台挂载,很有用

  hard:   如果server端没有响应,那么客户端一直尝试挂载

  wsize:  写块大小

  rsize:  读块大小

  intr:   可以中断不成功的挂载

  noatime: 不更新文件的inode访问时间,可以提高速度

  async:  异步读写

  4.nfsd的个数

  缺省的系统在启动时,有8个nfsd进程

  #ps -efl|grep nfsd

  通过查看/proc/net/rpc /nfsd文件的th行,第一个是nfsd的个数,后十个是线程是用的时间数,第二个到第四个值如果很大,那么就需要增加nfsd的个数.

  具体如下:

  #vi /etc/init.d/nfs

  找到RPCNFSDCOUNT,修改该值,一般和client端数目一致.

  #service nfs restart

  #mount -a

  5.nfsd的队列长度

  对于8个nfsd进程,系统的nfsd队列长度是64k大小,如果是多于8个,就要相应的增加相应的队列大小,具体的在

  /proc/sys/net/core/rwmem_default

  /proc/sys/net/core/wwmem_default

  /proc/sys/net/core/rmmem_max

  /proc/sys/net/core/wmmem_max

  队列的长度最好是每一个nfsd有8k的大小.这样,server端就可以对client的请求作排队处理.如果要永久更改此值

  #vi /etc/sysctl.conf

  net.core.rmmem_default=数目

  net.core.wmmem_default= 数目

  net.core.rmmem_max= 数目

  ne

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号